在Android中长按隐藏/显示图标

时间:2014-10-23 10:45:58

标签: android checkbox long-press

我的应用程序中有一个ListView。

每一行都有一个图标(左),一个标题(中心)和一些图标,如删除或共享(右)。我希望当用户长按任何项目时,这些图标不可见, CheckBox 出现在行的右侧(在此处),允许用户标记他想要的物品。

这适用于正常模式下的个别操作(删除,共享)和同时对多个文件的全局操作(操作栏和复选框中的图标)长按模式。与Android画廊类似。

所以我有以下代码:

   list.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
       @Override
       public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
           aDelete.setVisibility(View.GONE);
           aShare.setVisibility(View.GONE);
           check.setVisibility(View.VISIBLE);      
           return false;
       }       
   });

但我的应用程序崩溃了,因为我认为我不能通过主线程中的接口执行来执行此操作。

我的LogCat错误:

FATAL EXCEPTION: main
java.lang.NullPointerException
at com.adapta.FileExplorer$2.onItemLongClick(FileExplorer.java:182)
at android.widget.AbsListView.performLongPress(AbsListView.java:2815)
at android.widget.AbsListView$CheckForLongPress.run(AbsListView.java:2765)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)

任何人都可以帮助我吗?谢谢。

0 个答案:

没有答案