gpt4 book ai didi

单击时Android SubMenus不执行任何操作

转载 作者:行者123 更新时间:2023-11-29 00:42:39 26 4
gpt4 key购买 nike

我觉得这可能是个愚蠢的问题,但我不知道该怎么做。

我有一个可以正常工作的菜单。菜单中的一项:“搜索”调出一个包含不同项目的子菜单,例如“餐厅”、“咖啡馆”等。

下面是创建菜单和子菜单的 XML 代码:

<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/new_entry"
android:title="@string/new_entry"
android:icon="@drawable/add_new">
</item>
<item android:id="@+id/search"
android:title="@string/search"
android:icon="@drawable/search">
<menu>
<item android:id="@+id/five"
android:title="@string/five">
</item>
<item android:id="@+id/ten"
android:title="@string/ten">
</item>
<item android:id="@+id/fifteen"
android:title="@string/fifteen">
</item>
<item android:id="@+id/restaurant"
android:title="@string/restaurant">
</item>
<item android:id="@+id/cafe"
android:title="@string/cafe">
</item>
<item android:id="@+id/sandwich"
android:title="@string/sandwich">
</item>
</menu>
</item>
<item android:id="@+id/info"
android:title="@string/info_short"
android:icon="@drawable/info">
</item>

然后在我的 Activity 课上我有:

// Initialise Menu.
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_services, menu);
return true;
}

和:

// Create cases for each menu selection.
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.new_entry:
createFood();
return true;
case R.id.search:
return true;
case R.id.cafe:
Log.d(TAG, "In Cafe SubMenu");
Toast.makeText(getApplicationContext(), TAG, Toast.LENGTH_SHORT);
return true;
case R.id.info:
info();
return true;
default:
return super.onOptionsItemSelected(item);
}
}

“onOptionsItemSelected”中的每个 case 都执行它应该执行的操作,除了子菜单“case R.id.cafe:”。这里它应该发布到 LogCat 和 Toast 以进行测试,但两者都没有。

我错过了什么?

谢谢

最佳答案

我已经尝试了您的代码,它运行良好。当我选择“咖啡馆”时,只有 Toast 没有显示。那是因为,您没有在代码中调用 show()。你的代码是

Toast.makeText(getApplicationContext(), TAG, Toast.LENGTH_SHORT);

要在运行时显示 toast ,它应该调用如下

Toast.makeText(getApplicationContext(), TAG, Toast.LENGTH_SHORT).show();

:)

关于单击时Android SubMenus不执行任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8469630/

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