安卓以编程方式设置自动链接属性

2022-09-03 14:45:50
<TextView
    android:text="123456789"
    android:autoLink="phone">
</TextView>

我想从代码中创建这个TextView,但是我遇到了无数的问题。

首先,我半途而废地创建了一个TextView并添加了以下内容:

tw_phone.setAutoLinkMask(0x04);

这导致了一个可点击的TextView,但是当您单击时,一个Toast说“没有应用程序可以执行此操作”或类似的东西。我也试过

Linkify.addLinks(tw_phone, Linkify.PHONE_NUMBERS); //and .ALL

但它给了我同样的结果。

当我决定在StackOverflow上询问时,我试图剥离我的代码,以防我使用布局的方式有问题(你永远不知道),但现在我甚至无法使TextView可点击。在我看来,这是应该工作的代码,因为它只是我在代码中更深入使用的精简版本。

TableLayout table = (TableLayout) findViewById(R.id.tableResult);
TableRow row = new TableRow(this);
TextView tw = new TextView(this);
tw.setText("123456789");
tw.setAutoLinkMask(Linkify.ALL);
row.addView(tw);
table.addView(row);

有人可以写一个简单的小例子来说明你如何创建一个TextView,给它一个数字作为文本,然后允许用户点击它并选择他们想要打开数字的任何应用程序??如果你能指出我的代码中有什么问题,那就太好了,但我宁愿马上得到答案。我尝试过的东西取自其他StackOverflow问题和答案。


答案 1
TextView tv_contatti2 = new TextView(this); tv_contatti2.setText(contatti);
Linkify.addLinks(tv_contatti2, Linkify.PHONE_NUMBERS);
tv_contatti2.setLinksClickable(true);

其中“contatti”具有带国际前缀的值 +39012345678


答案 2

推荐