【发布时间】:2015-10-21 11:54:46
【问题描述】:
<TextView
android:text="123456789"
android:autoLink="phone">
</TextView>
我想从代码中创建这个 TextView,但是我遇到了无数问题。
首先,我创建了一个 TextView 并添加了这个:
tw_phone.setAutoLinkMask(0x04);
这导致了一个可单击的 TextView,但是当您单击时,吐司说“没有应用程序可以执行此操作”或类似的内容。我也试过
Linkify.addLinks(tw_phone, Linkify.PHONE_NUMBERS); //and .ALL
但它给了我同样的结果。
当我决定在 StackOverflow 上提问时,我试图删除我的代码,以防我使用 Layouts 的方式出现问题(你永远不知道),但现在我什至无法让 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 问题和答案。
【问题讨论】:
-
可能问题出在您在 textview 上设置的文本上,您是否尝试过使用“tel:123456789”?
-
两个地方都试过了。在我的“工作”链接中,电话:放在数字前面,但只有数字是可点击的。在我死掉的、不可点击的例子中,根本没有什么是可点击的……
-
我可以使用 tw.setText("1-XXX-XXX-XXXX"); tw.setAutoLinkMask(0x04);并一键拨打电话。