Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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
删除所有项目(可见和不可见)自定义listview Android?_Android_Android Listview - Fatal编程技术网

删除所有项目(可见和不可见)自定义listview Android?

删除所有项目(可见和不可见)自定义listview Android?,android,android-listview,Android,Android Listview,我的代码有问题。我想用以下代码删除自定义listview中的所有项目: public void delete_all() { int count = getCount(); if(count>0) { for (int i = 0; i < count; i++) { data.remove(data.get(i)); } notifyDataSetCha

我的代码有问题。我想用以下代码删除自定义listview中的所有项目:

public void delete_all()
{
    int count = getCount();
    if(count>0)
      {
         for (int i = 0; i < count; i++) 
          {
              data.remove(data.get(i));
          }
       notifyDataSetChanged();
    }
}

public Object getItem(int position) 
{
    return position;
}
我试图用data.removei进行太多的更改; 我得到了同样的结果

代码的logcat是

> 04-15 13:07:58.340: E/AndroidRuntime(2111): FATAL EXCEPTION: main
04-15 13:07:58.340: E/AndroidRuntime(2111): java.lang.IllegalStateException: Could not execute method of the activity
04-15 13:07:58.340: E/AndroidRuntime(2111):     at android.view.View$1.onClick(View.java:3044)
04-15 13:07:58.340: E/AndroidRuntime(2111):     at android.view.View.performClick(View.java:3511)
04-15 13:07:58.340: E/AndroidRuntime(2111):     at android.view.View$PerformClick.run(View.java:14105)
04-15 13:07:58.340: E/AndroidRuntime(2111):     at android.os.Handler.handleCallback(Handler.java:605)
04-15 13:07:58.340: E/AndroidRuntime(2111):     at android.os.Handler.dispatchMessage(Handler.java:92)
04-15 13:07:58.340: E/AndroidRuntime(2111):     at android.os.Looper.loop(Looper.java:137)
04-15 13:07:58.340: E/AndroidRuntime(2111):     at android.app.ActivityThread.main(ActivityThread.java:4456)
04-15 13:07:58.340: E/AndroidRuntime(2111):     at java.lang.reflect.Method.invokeNative(Native Method)
04-15 13:07:58.340: E/AndroidRuntime(2111):     at java.lang.reflect.Method.invoke(Method.java:511)
04-15 13:07:58.340: E/AndroidRuntime(2111):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
04-15 13:07:58.340: E/AndroidRuntime(2111):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
04-15 13:07:58.340: E/AndroidRuntime(2111):     at dalvik.system.NativeStart.main(Native Method)
04-15 13:07:58.340: E/AndroidRuntime(2111): Caused by: java.lang.reflect.InvocationTargetException
04-15 13:07:58.340: E/AndroidRuntime(2111):     at java.lang.reflect.Method.invokeNative(Native Method)
04-15 13:07:58.340: E/AndroidRuntime(2111):     at java.lang.reflect.Method.invoke(Method.java:511)
04-15 13:07:58.340: E/AndroidRuntime(2111):     at android.view.View$1.onClick(View.java:3039)
04-15 13:07:58.340: E/AndroidRuntime(2111):     ... 11 more
04-15 13:07:58.340: E/AndroidRuntime(2111): **Caused by: java.lang.IndexOutOfBoundsException: Invalid index 3, size is 2**
04-15 13:07:58.340: E/AndroidRuntime(2111):     at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
04-15 13:07:58.340: E/AndroidRuntime(2111):     at java.util.ArrayList.get(ArrayList.java:304)
04-15 13:07:58.340: E/AndroidRuntime(2111):     at com.droidersuin.imagelistfromurl.LazyAdapter.delete_all(LazyAdapter.java:60)
04-15 13:07:58.340: E/AndroidRuntime(2111):     at com.droidersuin.app.SearchActivity.search(SearchActivity.java:306)
04-15 13:07:58.340: E/AndroidRuntime(2111):     ... 14 more

如果您想删除所有项目,那么只需调用clear而不是remove。像这样

data.clear(); // this will clear your list
yourAdapter.notifyDataSetChanged();
注意:永远不要使用与like相同的对象大小删除循环中的项,这意味着它将更改列表/数组列表的大小,从而使每个迭代器上的大小不可预测。您可以使用另一个列表中的存储,然后使用

List<String> yourSelectData; store your data in this at iterate time then remove after loop complete


data.removeAll(yourselectData); // using this you can remove collection of element from list

请看一下这个链接。它可能会帮助您…[link1][1]和[link2][2][1]:[2]:谢谢您的pratik先生,我已经用ifcount>0{//data.removeAll更改了我的代码;如果我用这个更改,则是错误,sugestion available data.removeAlldata;notifydatasetchange;}但是logcat我的代码中还有其他错误:,我认为您仍然犯了一些错误,没有使用相同的列表对象,并且当您想要删除所有列表对象时,只需对选定项使用“清除”和“按点击选择”或“按复选框选择”,您必须将其存储在另一个列表对象中并传递到removeAllHai中的原始列表中。。。。感谢我犯了其他错误其他代码。。。data.clear正在工作:谢谢:
List<String> yourSelectData; store your data in this at iterate time then remove after loop complete


data.removeAll(yourselectData); // using this you can remove collection of element from list