Android 如何在longpress上隐藏imageview在listview上
我的listview上有锁定图标,我想在listview上使用longpress隐藏/显示它 我试过了,但是得到了一个空指针异常我应该怎么做请帮助 我不熟悉安卓系统 有什么帮助吗?提前谢谢Android 如何在longpress上隐藏imageview在listview上,android,listview,Android,Listview,我的listview上有锁定图标,我想在listview上使用longpress隐藏/显示它 我试过了,但是得到了一个空指针异常我应该怎么做请帮助 我不熟悉安卓系统 有什么帮助吗?提前谢谢 listView = (ListView)findViewById(R.id.lv_filename); lock =(ImageView)findViewById(R.id.lock); registerForContextMenu(listView); @Override public vo
listView = (ListView)findViewById(R.id.lv_filename);
lock =(ImageView)findViewById(R.id.lock);
registerForContextMenu(listView);
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
if (v.getId()==R.id.lv_filename) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_list, menu);
}
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
switch(item.getItemId()) {
case R.id.add:
// add stuff here
return true;
case R.id.edit:
lock.setVisibility(View.INVISIBLE); //getting error on this line
default:
return super.onContextItemSelected(item);
}
}
日志:
java.lang.NullPointerException
at com.advoco.notepad.MainActivity.onContextItemSelected(MainActivity.java:105)
at android.app.Activity.onMenuItemSelected(Activity.java:2714)
at android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:408)
at android.support.v7.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:195)
at android.support.v7.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:113)
at com.android.internal.policy.impl.PhoneWindow$DialogMenuCallback.onMenuItemSelected(PhoneWindow.java:4082)
at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:741)
at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152)
at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:884)
at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
at com.android.internal.view.menu.MenuDialogHelper.onClick(MenuDialogHelper.java:173)
at com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:952)
at android.widget.AdapterView.performItemClick(AdapterView.java:302)
at android.widget.AbsListView.performItemClick(AbsListView.java:1196)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3054)
at android.widget.AbsListView$3.run(AbsListView.java:3812)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5584)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
at dalvik.system.NativeStart.main(Native Method)
活动类中的findViewById()
方法在活动布局中查找具有特定id的视图。如果找不到该视图,它将返回null
现在,由于id为R.id.lock
的ImageView
不在活动布局中,这正是您获得java.lang.NullPointerException
的原因
您需要在自定义适配器中声明此
ImageView
,以便执行所有可见性操作 你确定你的活动版面中有一个id为R.id.lock
的ImageView
吗?我的customAdapter版面@Abhishek Jaincan中有这个图像,如果我发布我的customAdapter,你可以帮我吗?我是android@Abhishek Jain的新手