1

我在 XML 菜单文件中定义了我的子菜单(它有效)。我的意图是添加一个 EDIT 选项和一个 View 选项。我想为 EDIT 选项使用 EDITTEXT。如何将 EDIT 文本链接到我的子菜单?先感谢您。

如果我问的是非常简单的问题,请耐心等待:)。

4

1 回答 1

1

我不建议在菜单中使用 EditText 这工作量太大,而且您偏离了 Android 菜单的默认功能。相反,我要做的是使“编辑”选项单独启动Activity或显示Dialog带有EditText. 在这两者中,我建议使用DialogFragment显示一个 Dialog ,这是您可以做的最简单的方法。这篇Android 开发博客文章提供了一个教程。基本上,您必须为 DialogFragment 制作自己的布局(您可能需要一个EditTextand 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);
            }
        }

最后,不要害怕尝试,它不会咬人。

于 2012-12-18T22:31:27.373 回答