这里有一个类似的问题,Activity using ViewPager, PagerAdapter and AsyncTask causes a blank view,但我的问题不止于此。ViewPager,ListView和AsyncTask,第一页空白,第二页中的所有数据
我有一个包含ListView的ViewPager。这个ListView由一个asyncTask填充。列表视图显示数据,但不正确。第一页始终为空,第二页包含两页数据。
我简化了我的asynctask,以确保山雀没有导致问题的东西。
@Override
public Object instantiateItem(View pager, int position){
// Log.d("PAGER", Integer.toString(position));
ctx = pager.getContext();
v = new ListView(ctx);
new CreateArrayListTask().execute(URLS[position]);
((ViewPager)pager).addView(v, 0);
return v;
}
CreateArrayListTask
private class CreateArrayListTask extends AsyncTask<String, Void, ArrayList<String>> {
@Override
protected ArrayList<String> doInBackground(String... params) {
linkArray.add("Item 1");
linkArray.add("Item 2");
return linkArray;
}
onPostExecute
protected void onPostExecute(ArrayList<String> linkArray) {
ArrayAdapter<String> a = new ArrayAdapter<String>(ctx, android.R.layout.simple_list_item_1, linkArray);
v.setAdapter(a);
你的建议使用片段,我还没有使用片段,所以我不太熟悉它们的工作方式。你愿意/能够给出一个如何在类似情况下使用片段的例子吗? – r2DoesInc 2012-03-15 06:32:19
@ r2DoesInc我在答案中添加了一个示例项目。 – antonyt 2012-03-15 06:56:19