이
public class GetAsync extends AsyncTask<Void,ArrayList<Task>,List<Task>> {
private Context context;
private ListView listView;
ArrayAdapter<Task> tasks;
public GetAsync(Context context, ListView listview) {
this.context = context;
this.listView = listview;
}
@Override
protected List<Task> doInBackground(Void... voids) {
TaskDbHelper db = new TaskDbHelper()
return db.getTasks();
}
@Override
protected void onPreExecute() {
tasks = (ArrayAdapter<Task>) listView.getAdapter();
}
@Override
protected void onPostExecute(List<Task> tasks) {
tasks.addAll(tasks);
}
}
그건 시도
public class GetAsync extends AsyncTask<Void,ArrayList<Task>,String> {
private Context context;
private ListView listView;
ArrayAdapter<Task> tasks;
public GetAsync(Context context,ListView listview) {
this.context = context;
this.listView = listview;
}
@Override
protected String doInBackground(Void... voids) {
TaskDbHelper db = new TaskDbHelper(context);
tasks.addAll(db.getTasks());
return "werkt";
}
@Override
protected void onPreExecute() {
tasks = (ArrayAdapter<Task>) listView.getAdapter();
}
@Override
protected void onPostExecute(String aVoid) {
super.onPostExecute(aVoid);
}
}. 그래서 onPostExecute
의 어댑터를 AsyncTask (UI 스레드라고 가정 함)를 시작한 스레드에서 실행하도록 업데이트하려고합니다.
충돌을 일으킨 예외의 스택 추적을 제공 할 수 있습니까? –