2011-01-13 5 views
0

public class FriendMaps extends MapActivity을 선택하면 메뉴 항목에서 호출되는데, 그 중 마지막 부분에 private abstract class DownloadFilesTask extends AsyncTask<Void, Void, Void>이 있습니다. 서버 호출을 수행하고 로컬 배열 등에 데이터를 넣습니다. AsyncTask가 작동하지 않습니다. 형식 오류를 인스턴스화 할 수 없습니다.

그러나에

내 내가 new DownloadFilesTask().execute();를 호출하고 다음 오류 얻을 FriendMaps 활동의 public void onCreate(Bundle savedInstanceState) :

AsyncTask must be subclassed to be used.

: 문서에서

Error: Cannot instantiate the type FriendMaps.DownloadFilesTask

그럴 경우 DownloadFilesTask extends AsyncTask이 완료됩니다.

The task instance must be created on the UI thread

어쩌면 혼란 스러울까요? 나의 이해를 위해 UI 쓰레드는 현재 보여지고있는 액티비티이다. 그렇다면 FriendMaps 액티비티의 onCreate가 올바른 곳이다();

추가 도움을 받으려면 전체 코드 스핀이 필요하면 의견을 말하고 필요한 곳을 추가하겠습니다.

답변

5

는 추상 클래스로 DownloadFilesTask을 선언하기 때문에 당신은 정의에 의해, 인스턴스화 할 수없는 것을, 그것을 인스턴스화 할 수 없습니다

+0

감사합니다. 왜 내가 거기에 추상을했는지 모르겠다. 이제 AsyncTask가 내지도를 왜 추락시키고 있는지 알아야합니다./ – bMon

0

당신은 당신은 아마 didn를이

private class DownloadFilesTask extends AsyncTask<Void, Void, Void> 

처럼 선언을 할 수 있습니다 그것은 추상적 인 클래스라는 것을 의미하지 않는다. @ maid450은 추상 클래스를 인스턴스화 할 수 없다고 말했다.

+0

감사합니다. 맞아요. 그 말이 아닙니다. – bMon

관련 문제