Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何清除ListView,它只是在Android应用程序中旧内容之后添加新内容?_Java_Android_Listview_Android Listview_Android Arrayadapter - Fatal编程技术网

Java 如何清除ListView,它只是在Android应用程序中旧内容之后添加新内容?

Java 如何清除ListView,它只是在Android应用程序中旧内容之后添加新内容?,java,android,listview,android-listview,android-arrayadapter,Java,Android,Listview,Android Listview,Android Arrayadapter,请给我一些建议 我正在尝试将内容放入Android的ListView中 我传入一个ArrayList类型的字符串,设置一个适配器以传入该内容,然后将适配器传递给listView 问题出现在内容确实显示的事实上,但当我每次运行活动时,新内容只是列在旧内容的顶部。e、 g 活动名称 item 1 item 2 --------- item 1 //repeats again but with new content item 2 item 3 我试过: list.setAdapter(null);

请给我一些建议

我正在尝试将内容放入Android的ListView中

我传入一个ArrayList类型的字符串,设置一个适配器以传入该内容,然后将适配器传递给listView

问题出现在内容确实显示的事实上,但当我每次运行活动时,新内容只是列在旧内容的顶部。e、 g

活动名称

item 1
item 2
---------
item 1 //repeats again but with new content
item 2
item 3
我试过:

list.setAdapter(null);
arrayAdapter.clear();
arrayAdapter.notifyDataSetChanged();;
这些似乎都不起作用。强制关闭应用程序不会引入正确的内容

有什么问题请问

public void fillListView(){


        arrayAdapter = new ArrayAdapter<String>(
                this,
                android.R.layout.simple_list_item_1,
                StartSearch.myList22 );              //fill adapter with content


        lv = (ListView)findViewById(R.id.listView2);

        lv.setAdapter(arrayAdapter);    //feed data to listview
    }
public void fillListView(){
arrayAdapter=新的arrayAdapter(
这
android.R.layout.simple\u list\u item\u 1,
StartSearch.myList22);//用内容填充适配器
lv=(ListView)findViewById(R.id.listView2);
lv.setAdapter(arrayAdapter);//将数据馈送到listview
}

每次通过way打开活动时都会运行此方法以刷新内容

对不起,让我更具体一点。 我认为您不必将适配器设置为null并清除它

您可以更改设置为适配器的数组列表,如

yourList.clear();
yourList.add(data);
数据集更改后,请调用:

 yourAdapter.notifyDataSetChanged(); 
做你的

 StartSearch.myList22 as a Global variable and 
-->当您获得新数据时,请使用下面的代码尝试上述答案:-

 StartSearch.myList22.clear();
 StartSearch.myList22.addall(NewList);
-->如果仍然无法工作,请尝试以下代码:-

 StartSearch.myList22.clear();
 StartSearch.myList22.addall(NewList);
 arrayAdapter = new ArrayAdapter<String>(
            this,
            android.R.layout.simple_list_item_1,
            StartSearch.myList22 ); 
lv.setAdapter(arrayAdapter);
StartSearch.myList22.clear();
StartSearch.myList22.addall(NewList);
arrayAdapter=新的arrayAdapter(
这
android.R.layout.simple\u list\u item\u 1,
StartSearch.myList22);
低压设置适配器(阵列适配器);

-谢谢

您需要清除
StartSearch.myList22
array