【问题标题】:How to add options to Android's native 'Edit text' context menu如何向 Android 的原生“编辑文本”上下文菜单添加选项
【发布时间】:2011-06-21 01:17:19
【问题描述】:

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

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

我真的很想看看任何有效的例子,无论是否肮脏:)

【问题讨论】:

标签: java android menu contextmenu


【解决方案1】:

两者都是!

首先,你需要创建一个实现 OnCreateContextMenuListener 的类,

public class CMenu implements OnCreateContextMenuListener {  

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {

    //Do Something , Like:

    menu.add(0, 1, 0, "copy");
    menu.add(0, 2, 0, "paste");
    }
}

然后

editText.setOnCreateContextMenuListener(cMenu);

现在好了~

【讨论】:

    【解决方案2】:

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

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

    //向菜单添加项目

    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");
        }   
    }
    

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

    【讨论】:

      【解决方案3】:

      是否可以在用户长按任何编辑文本时显示的项目列表中添加一些内容?

      如果EditText 在您的活动中,您可以通过onCreateContextMenu() 进行操作。

      如果EditText 不在您的活动中,则没有。

      这里有这个问题的副本,第一个答案的最后一条评论说它是“可能的,但不漂亮”。然后线程就死了。

      首先,该帖子已有两年历史,这在 Android 年代几乎是永恒的。

      其次,我相当肯定 Haseman 先生的评估是不正确的。

      【讨论】:

      • 你在蜂窝发布之前有答案,现在呢? setCustomSelectionActionModeCallback 呢?
      • @Selvin:至少在早期,这是不可靠的。我尝试将它用于我的RichEditText,发现一些制造商基本上忽略了这个电话。在过去的几年里我没有尝试过,所以我不知道是否在兼容性测试中得到了更好的执行,或者在其他方面已经变得普遍可以安全使用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多