我有一个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,但没有快乐.
思考?