android – 在AsyncTask完成执行后,ExpandableListView未更新

我有一个ExpandableListView作为活动的一部分创建:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.news);

    // create the exandable list view widget
    newslistadapter = new Newslistadapter(this.getApplicationContext());    

    newsListView = (ExpandableListView) findViewById(R.id.news_list_view);

    newsListView.setAdapter(newslistadapter);

    final Button homeButton = (Button) findViewById(R.id.home_btn);

    // go back to the home page
    homeButton.setonClickListener(new View.OnClickListener() {
        public void onClick(View view) {                
            startActivity(new Intent(view.getContext(),HomeActivity.class));
        }
    });   

    newsListView.setonGroupClickListener(new OnGroupClickListener() {
        public boolean onGroupClick(ExpandableListView parent,View view,int groupPosition,long arg3) {
            return false;
        }
    });

    newsListView.setonChildClickListener(new OnChildClickListener() {
        public boolean onChildClick(ExpandableListView parent,int childPosition,long id) {
            return false;
        }
    });

    showLoadingProgressDialog();

    downloadRSSFeedTask = new DownloadRSSFeedTask();

    downloadRSSFeedTask.execute();
}

正如您从代码中看到的那样,它会从AsyncTask中的RSS提要中拉出来.

AsyncTask结束,取消进度对话框,并告知活动任务已完成:

private void responseReceived(Channel newsResponse) {
    if (newsResponse != null)           
        newslistadapter.buildView(newsResponse);
    }
    else {
    Toast toast = Toast.makeText(this.getApplicationContext(),"There is no news available at this time.",Toast.LENGTH_LONG);

        toast.show();
    }
}

但是,ExpandableListView在加载数据后不会重绘/刷新,它是一个空白屏幕.你如何让ExpandableListView用RSS数据刷新自己?我尝试过invalidate和refreshDrawableState,但没有快乐.

思考?

解决方法

我猜你忘记在下载RSS Feed调用适配器上的notifyDataSetChanged()方法(可能你应该在你的AsyncTask中的onPostExecute()方法调用它).

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...