我在 XML 菜单文件中定义了我的子菜单(它有效)。我的意图是添加一个 EDIT 选项和一个 View 选项。我想为 EDIT 选项使用 EDITTEXT。如何将 EDIT 文本链接到我的子菜单?先感谢您。
如果我问的是非常简单的问题,请耐心等待:)。
我在 XML 菜单文件中定义了我的子菜单(它有效)。我的意图是添加一个 EDIT 选项和一个 View 选项。我想为 EDIT 选项使用 EDITTEXT。如何将 EDIT 文本链接到我的子菜单?先感谢您。
如果我问的是非常简单的问题,请耐心等待:)。
我不建议在菜单中使用 EditText ,这工作量太大,而且您偏离了 Android 菜单的默认功能。相反,我要做的是使“编辑”选项单独启动Activity
或显示Dialog
带有EditText
. 在这两者中,我建议使用DialogFragment显示一个 Dialog ,这是您可以做的最简单的方法。这篇Android 开发博客文章提供了一个教程。基本上,您必须为 DialogFragment 制作自己的布局(您可能需要一个EditText
and Button
,然后在DialogFragment
创建 时,膨胀布局并将一个附加[onClickListener][3]
到您的布局,以Button
保存文本并关闭DialogFragment
.
这些接下来的代码块只是展示了你的菜单应该如何实现。此代码膨胀您的菜单 xml - 它是必需的。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
此代码处理您的逻辑。请注意,case R.id.menu_edit:
这就是您必须处理用户从菜单中按下“编辑”的逻辑的地方。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_view:
//do stuff here
return true;
case R.id.menu_edit:
//make a Dialog or show an Activity
return true;
default:
return super.onOptionsItemSelected(item);
}
}
最后,不要害怕尝试,它不会咬人。