gpt4 book ai didi

android - 使用 setOnMenuItemClickListener 时的空对象引用

转载 作者:行者123 更新时间:2023-11-29 02:22:25 26 4
gpt4 key购买 nike

我正在尝试访问 setOnMenuItemClickedListener,但我得到一个空对象引用。错误消息不是很具体,也没有告诉我哪个对象导致了空引用。我已经使用 findViewById 明确定义了 MenuItem 对象。菜单项本身位于“android.support.v4.widget.DrawerLayout”中,这是主要 Activity 的根。

MenuItem item1 = findViewById(R.id.restore);

item1.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
return false;
}
});

上面的所有代码都在 mainactivites oncreate bundle 函数中。

最佳答案

响应抽屉菜单项点击的正确方法是在您的 Activity 中实现 NavigationView.OnNavigationItemSelectedListener 接口(interface)。

然后在 onCreate() 方法中使用以下代码将抽屉配置为使用 Activity 进行回调

NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);

然后您可以响应在添加到 Activity 的 onNavigationItemSelected 方法中单击的菜单项。方法示例如下:

public boolean onNavigationItemSelected(@NonNull MenuItem item) {
// Handle navigation view item clicks here.
switch (item.getItemId()) {

case R.id.restore: {
//do somthing
break;
}
}
//close navigation drawer
mDrawerLayout.closeDrawer(GravityCompat.START);
return true;
}

关于android - 使用 setOnMenuItemClickListener 时的空对象引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54545852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com