带适配器的asynctask上的NullPointerException

时间:2012-12-15 17:13:05

标签: android-asynctask adapter

我正在使用适配器的asy任务并获得此错误

 java.lang.NullPointerException

问题行是

 listAdapter = new listAdpterRss(this.context, R.layout.listitems,RssArrays,RssArrays.rtl);

我的asy任务看起来像那样

protected void onPostExecute(String result) {
        Dialog.dismiss();
        ListView lv = getListView();
    //  lv.setTextFilterEnabled(true);
        listAdapter = new listAdpterRss(this.context, R.layout.listitems,RssArrays,RssArrays.rtl);
        lv.setAdapter(listAdapter); // on test
        listAdapter.notifyDataSetChanged();
        lv.setOnItemClickListener(new OnItemClickListener() 
        {
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                Intent intent = new Intent(RssItem.this,openRssItem.WebActivity.class);
                intent.putExtra("url", RssArrays.PodcastURL[position].toString());

                startActivity(intent);
                //new splash(ListRss.this,mHandler,listValue.get(position).toString()).execute();
            } 

        });

1 个答案:

答案 0 :(得分:0)

您稍后设置适配器,可能正在使用doInBackground方法。这就是为什么它显示nullPointer。 请将所有这些放在PreExecute():

ListView lv = getListView();     // lv.setTextFilterEnabled(true);         listAdapter = new listAdpterRss(this.context,R.layout.listitems,RssArrays,RssArrays.rtl);         lv.setAdapter(listAdapter);

然后尝试使用您的代码。