我的应用程序中有一个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)
任何人都可以帮助我吗?谢谢。