Android 在文本视图中长按链接时显示关联菜单

Android 在文本视图中长按链接时显示关联菜单,android,contextmenu,textview,Android,Contextmenu,Textview,我有一个TextView,其MovementMethod设置为LinkMovementMethod。添加到TextView的文本是普通文本和URL的组合。对于URL,我想在长时间按URL进行复制地址等操作时提供一个上下文菜单。我已经查看了LinkMovementMethod的源代码,但它似乎没有任何可以覆盖的长时间压缩的相关代码。关于如何实现这一点,您有什么想法吗?您可以简单地使用registerForContextMenu,例如: TextView tv = new TextView(

我有一个
TextView
,其
MovementMethod
设置为
LinkMovementMethod
。添加到
TextView
的文本是普通文本和URL的组合。对于URL,我想在长时间按URL进行复制地址等操作时提供一个上下文菜单。我已经查看了
LinkMovementMethod
的源代码,但它似乎没有任何可以覆盖的长时间压缩的相关代码。关于如何实现这一点,您有什么想法吗?

您可以简单地使用registerForContextMenu,例如:

    TextView tv = new TextView(this);
    registerForContextMenu(tv);
然后重写onCreateContextMenu以创建菜单

@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
            // Create your context menu here
    menu.setHeaderTitle("Context Menu");
    menu.add(0, v.getId(), 0, "Action 1");        
}
其中,您可以使用视图的ID传递到按下菜单项时发生的事件,以区分哪个视图称为事件

@Override
public boolean onContextItemSelected(MenuItem item) {
    // Call your function to preform for buttons pressed in a context menu
    // can use item.getTitle() or similar to find out button pressed
    // item.getItemID() will return the v.getID() that we passed before

}

我只想在长按URL时才显示关联菜单,这样我就可以为该链接提供一些特定的选项,如“复制”和“共享”@Al:如果你注册关联菜单,它只会在长按时显示。你可能还想看看这个问题。它没有自动取款机的答案,但我正在努力寻找答案