gpt4 book ai didi

android - 在 TextView 中长按链接时显示上下文菜单

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:01:33 25 4
gpt4 key购买 nike

我有一个 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");
}

您可以在其中使用 View 的 ID 传递按下菜单项时发生的事件,以区分调用事件的 View 。

@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

}

关于android - 在 TextView 中长按链接时显示上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2662992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com