我无法单击菜单中的项目。我的菜单打开并且一切正常显示,但是当我单击时没有任何反应
I cant click on item inside my menu. My menu opens and everything is displayed normally, but nothing happens when I click
我无法单击菜单中的项目。我的菜单打开并且所有内容都正常显示,但是当我单击时没有任何反应。我不知道为什么并搜索了信息,但它对我没有帮助。
这是我的 XML 代码 profile__detail_menu.
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
app:showAsAction="always"
android:icon="@drawable/ic_baseline_more_vert_24"
android:title="">
<menu>
<item
android:id="@+id/change_name"
android:title="Change name"
android:icon="@drawable/ic_baseline_edit_24"
/>
<item
android:id="@+id/new_photo"
android:title="New photo"
android:icon="@drawable/ic_baseline_add_a_photo_24"
/>
<item
android:id="@+id/log_out"
android:title="Log out"
android:icon="@drawable/ic_baseline_login_purp_24"
/>
</menu>
</item>
</menu>
这是我的 Java 代码。
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.profile__detail_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
Toast.makeText(Profile.this,"Something", Toast.LENGTH_SHORT).show();
switch (item.getItemId()) {
case R.id.change_name:
Toast.makeText(this, "change_name selected", Toast.LENGTH_SHORT).show();
return true;
case R.id.new_photo:
Toast.makeText(this, "new_photo selected", Toast.LENGTH_SHORT).show();
return true;
case R.id.log_out:
Toast.makeText(this, "log_out selected", Toast.LENGTH_SHORT).show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
我觉得有问题的是你的菜单 XML 文件。由于某种原因,您在菜单标签内有一个菜单标签。如果你明白我的意思,那么会有一个子菜单吗?但你实际上并没有夸大它。
修改XML如下
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".YourActivityName"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/change_name"
android:title="Change name"
app:showAsAction="always|withText"
android:icon="@drawable/ic_baseline_edit_24"
/>
<item
android:id="@+id/new_photo"
android:title="New photo"
app:showAsAction="always|withText"
android:icon="@drawable/ic_baseline_add_a_photo_24"
/>
<item
android:id="@+id/log_out"
android:title="Log out"
app:showAsAction="always|withText"
android:icon="@drawable/ic_baseline_login_purp_24"
/>
</menu>
我已经根据您的代码更新了您的菜单。如果需要,请向其中添加更多项目。
我无法单击菜单中的项目。我的菜单打开并且所有内容都正常显示,但是当我单击时没有任何反应。我不知道为什么并搜索了信息,但它对我没有帮助。 这是我的 XML 代码 profile__detail_menu.
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
app:showAsAction="always"
android:icon="@drawable/ic_baseline_more_vert_24"
android:title="">
<menu>
<item
android:id="@+id/change_name"
android:title="Change name"
android:icon="@drawable/ic_baseline_edit_24"
/>
<item
android:id="@+id/new_photo"
android:title="New photo"
android:icon="@drawable/ic_baseline_add_a_photo_24"
/>
<item
android:id="@+id/log_out"
android:title="Log out"
android:icon="@drawable/ic_baseline_login_purp_24"
/>
</menu>
</item>
</menu>
这是我的 Java 代码。
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.profile__detail_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
Toast.makeText(Profile.this,"Something", Toast.LENGTH_SHORT).show();
switch (item.getItemId()) {
case R.id.change_name:
Toast.makeText(this, "change_name selected", Toast.LENGTH_SHORT).show();
return true;
case R.id.new_photo:
Toast.makeText(this, "new_photo selected", Toast.LENGTH_SHORT).show();
return true;
case R.id.log_out:
Toast.makeText(this, "log_out selected", Toast.LENGTH_SHORT).show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
我觉得有问题的是你的菜单 XML 文件。由于某种原因,您在菜单标签内有一个菜单标签。如果你明白我的意思,那么会有一个子菜单吗?但你实际上并没有夸大它。
修改XML如下
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".YourActivityName"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/change_name"
android:title="Change name"
app:showAsAction="always|withText"
android:icon="@drawable/ic_baseline_edit_24"
/>
<item
android:id="@+id/new_photo"
android:title="New photo"
app:showAsAction="always|withText"
android:icon="@drawable/ic_baseline_add_a_photo_24"
/>
<item
android:id="@+id/log_out"
android:title="Log out"
app:showAsAction="always|withText"
android:icon="@drawable/ic_baseline_login_purp_24"
/>
</menu>
我已经根据您的代码更新了您的菜单。如果需要,请向其中添加更多项目。