我有一个带有内部受保护的类的Activity类,该类扩展了AsyncTask。当我单击一个按钮,然后显示基于该数据的列表时,我试图让AsyncTask在后台加载数据。

这是我的setListAdapter代码:

setListAdapter(new ArrayAdapter<String>(this, R.layout.list_row,
                R.id.rowtextview, testArr.toArray(test2)));


问题是我不能仅仅将setListAdapter插入AsyncTask类中,因为它需要外部类的上下文,并且它唯一可以放到外部Activity类的onCreate()内部。如果它在onCreate内,则只能使用一次并且不是动态的。我不确定每次单击按钮并搜索新内容后如何重新加载列表。

最佳答案

您自定义的内部AsyncTask没有标记为静态吗?这意味着它实际上持有对父类(即Activity)的引用。因此,您可以使用:

setListAdapter(new ArrayAdapter<String>(YourActivity.this, R.layout.list_row,
                R.id.rowtextview, testArr.toArray(test2)));

09-10 15:34