我想编写一个顶部有菜单的程序,该菜单有一个项目。 我希望当用户点击该项目时,会出现一个对话框,类似于此页面中的代码:http://www.mkyong.com/android/android-custom-dialog-example/ 但在这个页面上有一个按钮而不是菜单和一个项目。 为线 :
final Context context;
private Button button;
button = (Button) findViewById(R.id.buttonShowCustomDialog);
我写了两个
final Context context;
private Menuitem menuitem;
menuitem = (MenuItem) findViewByID(R.id.addmenu1);
和这一个:
final Context context;
private Menu menu;
menu = (Menu) findViewByID (R.id.addmenu1);
但我得到“提供错误类型的资源标识符” 在这种情况下我应该把这里放什么?!
这是我的addmenu1.xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/add"
android:icon="@drawable/plus"
android:title="Adding"
android:orderInCategory="100"
android:showAsAction="always"
/>
</menu>
答案 0 :(得分:1)
用于菜单和子菜单
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.MainActivity" >
<item
android:id="@+id/menu_item_options"
android:icon="@drawable/ic_config"
android:title="@string/action_settings"
app:showAsAction="ifRoom">
<menu>
<item
android:id="@+id/action_settings"
android:icon="@drawable/ic_config"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="always"/>
</menu>
</item>
创建菜单时,子菜单单击事件在活动中 例如:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
// showPoppup
return true;
}
return super.onOptionsItemSelected(item);
}