坚持这一点。
我FirstAsyncTask
更新数组arr
[]
我使用另一个ImageAdapter
更新图像。有关详细信息,请参阅代码
我想更新List的每个textview。 Follwoing代码更新图像视图但不更新textview。我想用arr
[]设置此textview的文本我在更新中
我在onPostExecute
的{{1}}内使用了以下代码:
FirstAsyncTask
答案 0 :(得分:0)
在AsyncTask类的postExecute方法中执行此操作
在doInBackground()之后,返回要填充列表的对象。
然后将其传递给onPostExecute(),您可以在那里初始化列表适配器。
private class LoadList extends AsyncTask<Void, Void, List<String>> {
@Override protected List<String> doInBackground(Void... params) {
ArrayList<String> listContents = new ArrayList<String>();
listContents.add("Item one");
listContents.add("Item two");
listContents.add("Item three");
return listContents;
}
@Override protected void onPostExecute(List<String> listContents) {
ListAdapter adapter = new SimpleAdapter(MainActivity.this, listContents,
R.layout.list_item, arr, new int[] { R.id.name,
R.id.email, R.id.mobile });
mListView.setAdapter(adapter);
}
}
答案 1 :(得分:0)
我们可以使用runOnUiThread概念更新doInBackground()内的UserInterface。但这是不好的做法。正如山姆所说,在onPostExe上更新用户界面会给予顺畅的互动。
否则你可以使用
的runOnUiThreadSample.this.runOnThrea .. {public void run(){。在这里更新ui。}}