안드로이드 AsyncTask, onPreExecute(), doInBackground() 모두 실행되지 않습니다.

안녕하세요. 처음으로 질문남깁니다.

Main 쓰레드에서 다음과 같이 AsyncTask를 실행시킵니다.

        FetchPlacesListTask placesListTask = new FetchPlacesListTask(this);
        placesListTask.execute(category);

다음과 같이 DB에서 받아온 Place 리스트를 adapter로 연결하려고 합니다.

   public class FetchPlacesListTask extends AsyncTask<String, Void, List<Place>> {

        private final Context mContext;
        private List<Place> listPlaces;

        public FetchPlacesListTask(Context context) {
            mContext = context;
        }

        @Override
        protected List<Place> doInBackground(String... params) {
            Log.v("AsyncTask", "doInBackground");

            placeDAO = new PlaceDAO(mContext);
            listPlaces = placeDAO.getPlacesByType(params[0]);

            return listPlaces;
        }

        @Override
        protected void onPostExecute(List<Place> places) {
            if (places != null) {
                adapter = new ListPlacesAdapter(mContext, places);
                listViewPlaces.setAdapter(adapter);
            }
            placeDAO.close();
        }
    }

그런데 FetchPlacesListTask가 생성되는 것 까지는 확인했는데 doInBackground()나 onPostExecute()가 실행되지 않습니다. 무슨 문제가 있는 걸까요?

  • 자답입니다. doInBackground()와 onPostExecute()는 정상적으로 실행되는데 제가 이해가 덜 된 부분이 있어 오류가 발생했었습니다. 신재훈 2016.7.19 08:29

1답변

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.