java - 如何向 Android 的 native 'Edit text' 上下文菜单添加选项

标签 java android menu contextmenu

是否可以在用户长按任何编辑文本时显示的项目列表中添加一些内容? (剪切、复制粘贴、选择文本、全选、输入法)我想在此菜单中添加另一个选项,但无法弄清楚。

这个问题有重复 here ,第一个答案的最后评论说它“可能,但不漂亮”。然后线程死亡。

我真的很想看到任何可用的示例,无论是否脏:)

最佳答案

只有当 EditText 在您的 Activity 中时,才能向现有的 edittext 上下文菜单添加更多菜单项。这可以通过 onCreateContextMenu() 完成。

如果 EditText 不在您的 Activity 中,则不可能。

//向菜单添加项目

EditText UserNameEditText = (EditText)findViewById(R.id.usernameEdittext);
registerForContextMenu(UserNameEditText);

//覆盖上下文菜单

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) 
{
    super.onCreateContextMenu(menu, v, menuInfo);

    if (v.getId()==R.id.usernameEdittext) 
    {
        menu.add(0, 1, 0, "Fetch New Username");
        menu.add(0, 2, 0, "Check For Duplicate");
    }   
}

如果上下文菜单没有被调用,那么你的编辑文本不在你的 Activity 中。

关于java - 如何向 Android 的 native 'Edit text' 上下文菜单添加选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4893065/

相关文章:

php - 为什么使用 Spry 菜单会杀死我的 <p> 标签?

css - Django CMS 菜单,如何只为 parent 设置一个类(class)?

java - 将库提取和打包到 jar 文件中的区别

android - 显示自定义对话框

java - Android:点击按钮时的新 View

java - 将 AppCompat v7 添加到 gradle 会在编译时产生多重错误

css - z-index 属性不适用于悬停菜单链接

java - 如何使用Selma的mapper将pojo与Lombok的注解进行转换

java - Java中最小化绝对函数

java - 从字符串中的byte[]到字符串?