Android 从手势文件中删除手势

Android 从手势文件中删除手势,android,Android,我正在开发一个小的手势应用程序,它创建手势并将其保存到文件中,并且基于android示例中的gestureBuilder代码 我想删除文件中存储的所有手势,代码的移植如下 private static GestureLibrary sStore; final GestureLibrary store = sStore; if (store.load()) { for (String name : stor

我正在开发一个小的手势应用程序,它创建手势并将其保存到文件中,并且基于android示例中的gestureBuilder代码

我想删除文件中存储的所有手势,代码的移植如下

private static GestureLibrary sStore;
final GestureLibrary store = sStore;
 if (store.load()) 
                    {
                        for (String name : store.getGestureEntries()) 
                        {
                           for (Gesture gesture : store.getGestures(name)) 
                           {
                                final NamedGesture namedGesture = new NamedGesture();
                                namedGesture.gesture = gesture;
                                namedGesture.name = name;

                                sStore.removeGesture(namedGesture.name, namedGesture.gesture);
                                sStore.save();
                            }
                        }
                    }
然而,在运行时会出现这样的异常

private static GestureLibrary sStore;
final GestureLibrary store = sStore;
 if (store.load()) 
                    {
                        for (String name : store.getGestureEntries()) 
                        {
                           for (Gesture gesture : store.getGestures(name)) 
                           {
                                final NamedGesture namedGesture = new NamedGesture();
                                namedGesture.gesture = gesture;
                                namedGesture.name = name;

                                sStore.removeGesture(namedGesture.name, namedGesture.gesture);
                                sStore.save();
                            }
                        }
                    }
03-13 14:42:07.009:E/AndroidRuntime905:致命异常:主 03-13 14:42:07.009:E/AndroidRuntime905:java.util.ConcurrentModificationException 03-13 14:42:07.009:E/AndroidRuntime905:at java.util.HashMap$HashIterator.nexteryHashMap.java:796 03-13 14:42:07.009:E/AndroidRuntime905:at java.util.HashMap$KeyIterator.nextHashMap.java:823 03-13 14:42:07.009:E/AndroidRuntime905:com.likith.gesturebuilder.GestureBuilderActivity$2$1.onClickGestureBuilderActivity.java:127 03-13 14:42:07.009:E/AndroidRuntime905:com.android.internal.app.AlertController$ButtonHandler.HandleMessageAllertController.java:159 03-13 14:42:07.009:E/AndroidRuntime905:at android.os.Handler.dispatchMessageHandler.java:99 03-13 14:42:07.009:E/AndroidRuntime905:at android.os.Looper.Looper.java:123 03-13 14:42:07.009:E/AndroidRuntime905:at android.app.ActivityThread.mainActivityThread.java:3683 03-13 14:42:07.009:E/AndroidRuntime905:at java.lang.reflect.Method.invokenactive方法 03-13 14:42:07.009:E/AndroidRuntime905:at java.lang.reflect.Method.invokeMethod.java:507 03-13 14:42:07.009:E/AndroidRuntime905:com.android.internal.os.ZygoteInit$methodAndArgscaler.runZygoteInit.java:839 03-13 14:42:07.009:E/AndroidRuntime905:com.android.internal.os.ZygoteInit.mainZygoteInit.java:597 03-13 14:42:07.009:E/AndroidRuntime905:at dalvik.system.NativeStart.main本地方法

是否有任何方法可以从手势文件中删除所有手势
如果要删除gesturestore文件中的所有手势条目,请帮助…

1:

if (store.load()) {
                try {
                    List list = new ArrayList();
                    for (String name : store.getGestureEntries()) {
                        list.add(name);
                    }
                    for (int i = 0; i < list.size(); i++) {
                        store.removeEntry(list.get(i).toString());
                        store.save();
                    }
                }catch (Exception e){
                    System.out.println(e.getMessage());
                }
            }

我希望它对您有效。

我猜您可以尝试sStore.clear删除所有entries否不起作用。。。