列表视图清除/重置/完成不起作用

时间:2012-05-28 22:25:03

标签: java android xml listview

我有一个包含2个活动的Android应用程序 第一个(主要)活动:使用可用的XML文件下拉列表 第二个(列表)活动:在ListView / Listadapter中显示结果

应用程序运行正常,但是当我在第二个活动上使用“后退”按钮时,它完成应用程序并清除ArrayList(使用System.out测试)并选择另一个XML视图,显示旧的XML结果。

所以基本上看起来listview仍然在我的记忆中,我该如何清除/重置?

        XMLParse parser = new XMLParse();
    String xml = parser.getXmlFromUrl(URL); // getting XML
    Document doc = parser.getDomElement(xml); // getting DOM element
            //SOME CODE//

    // Adding menuItems to ListView
    adapter = new SimpleAdapter(this, menuItems,
            R.layout.list_item,
            new String[] { bestemming, vertrek, spoor, vertraging }, new int[] {
                    R.id.bestemming, R.id.vertrek, R.id.spoor, R.id.vertraging });
    setListAdapter(adapter);

    final Button button = (Button) findViewById(R.id.back);
    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            menuItems.clear();
            finish();
        }
    });

2 个答案:

答案 0 :(得分:0)

您是否尝试使用ArrayAdapter?

adapter = new ArrayAdapter ...
...
menuItems.clear();
adapter.clear();
...

listView.setAdapter(null);

答案 1 :(得分:0)

您必须通知适配器您已更改ArrayList,它将重绘它。有时它会在没有通知的情况下重绘,但有时会显示旧数据。

在你的主要活动中尝试使用类似的东西:

@Override
protected void onResume() {
    super.onResume();

    adapter.notifyDataSetChanged();
}