我希望在动态创建的列表视图中有一个异步任务,但它会给我带来错误。
这是我的密码
public class TenderViewActivity extends ListActivity {
ArrayList<Spanned> tenders;
@SuppressWarnings("unchecked")
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Downloaditems dw_tender=new Downloaditems();
dw_tender.execute();
}//onCreate
@SuppressWarnings("unused")
private class Downloaditems extends AsyncTask<ArrayList<Spanned>, ArrayList<Spanned>, ArrayList<Spanned>> {
@Override
protected ArrayList<Spanned> doInBackground(ArrayList<Spanned>... params) {
Intent intent = getIntent();
cat = intent.getStringExtra(BidActivity.EXTRA_MESSAGE4);
tender_name = intent.getStringExtra(BidActivity.EXTRA_MESSAGE3);
title=intent.getStringExtra(BidActivity.EXTRA_MESSAGE5);
setTitle(title);
ArrayList<Spanned> tender_res=tenderlist(cat,tender_name);
return tender_res;
}
protected void onPostExecute(ArrayList<Spanned> result) {
setListAdapter(new ArrayAdapter<Spanned>this,R.layout.tender_listing,R.id.basic_details,tenders));
tenders=result;
}
}这一行setListAdapter(新的ArrayAdapterthis,R.layout.tender_listing,R.id.basic_details,投标书);onpostexecute方法中的给了我类似的错误
构造函数ArrayAdapter(TenderViewActivity.Downloaditems,int,int,ArrayList)是未定义的
请帮忙..。
发布于 2014-01-14 05:46:19
变化
setListAdapter(new ArrayAdapter<Spanned>(this,R.layout.tender_listing,R.id.basic_details,tenders));至
setListAdapter(new ArrayAdapter<Spanned>(TenderViewActivity.this,R.layout.tender_listing,R.id.basic_details,result));在您的示例中,this不引用活动上下文。
另外,使用tenders代替result作为最后一个param。还添加@重写注释
@Override
protected void onPostExecute(ArrayList<Spanned> result) {
super.onPostExecute(result);发布于 2014-01-14 05:49:30
在…
setListAdapter(new ArrayAdapter<Spanned>this,R.layout.tender_listing,R.id.basic_details,tenders));而不是这样使用TenderViewActivity.this
https://stackoverflow.com/questions/21106830
复制相似问题