【问题标题】:Add EDITTEXT as a submenu option android添加 EDITTEXT 作为子菜单选项 android
【发布时间】:2012-12-18 20:53:56
【问题描述】:

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

如果我问的问题很简单,请多多包涵:)。

【问题讨论】:

  • 子菜单是指用户按下菜单键时弹出的菜单吗?这也与没有菜单键的新手机上的溢出菜单(三个点)相同。
  • 实际上是这样的:我有一个常规菜单,其中有 2 个选项卡(关于和设置)。在 SETTINGS 菜单中(在 menu.XML 中定义)还有 2 个 SUBMENUS 查看和编辑(显然他们现在什么都不做)。我希望 EDIT 链接到 EDITTEXT 或可以编辑的东西。谢谢!
  • 啊,我明白了。是 ListView 中的编辑选项还是按钮?您可能想要发布布局 xml,以便我们可以看到您要执行的操作。关于这一点,你自己尝试过什么吗?
  • schemas.android.com/apk/res/android" >
  • 我在主布局上确实有一个 EditText 按钮,它可以做它应该做的事情。我想将它从主布局移到子菜单中,成为设置的一部分。实际上,最好的方法是什么?谢谢:)

标签: android xml android-edittext submenu


【解决方案1】:

我不建议在菜单中使用 EditText ,这样做的工作量太大,而且会偏离 Android 菜单的默认功能。我要做的是让“编辑”选项启动一个单独的Activity,或者显示一个带有EditTextDialog。在这两者中,我建议使用 DialogFragment 显示一个对话框,这是您可以做的最简单的方法。 ThisAndroid Dev Blog post 给出了一个教程。基本上,您必须为 DialogFragment 制作自己的布局(您可能需要 EditTextButton,然后在创建 DialogFragment 时,膨胀布局并将 [onClickListener][3] 附加到您的 @987654330 @ 保存文本并关闭 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);
            }
        }

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

【讨论】:

  • 非常感谢,这正是我所需要的,一个指导我正确方向的好建议。这个周末我会玩,直到它按照我想要的方式工作。再次感谢您的宝贵时间:)
猜你喜欢
  • 1970-01-01
  • 2013-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多