android - 如何在TextView上创建拨号链接?

标签 android android-layout

<分区>

我是 android 新手并且:

我有一个可以显示电话号码的 TextView。

我想让那部分文本“可触摸”并尝试调用电话或类似的东西。

我已尝试实现 implicit intent当用户单击 TextView 但我无法使其工作时。

有什么解决办法吗?或者不同的方法?

谢谢。

最佳答案

首先通过在 layout.xml 中添加以下内容使您的 TextView 可点击

<TextView 
...
...
android:clickable="true">
</TextView>

并且在您的 Java 代码中,在该特定 TextView 的 OnClickListener 中启动电话 Activity 为

TextView tv=(TextView) findViewById(R.id.tv_contact);

 tv.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
           startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("tel://"+ tv.getText().toString().trim())));

        }
    });'

如果你想链接到 textview 上的特定文本,那么这篇文章可能对你有帮助

Android textview with clickable phone number

编辑

正如@Apoorv 所建议的,您也可以使用 android:autoLink = "phone" 作为

在 xml 文件中,添加以下行。

<TextView
      ....
      android:autoLink = "phone"
/>

有关详细信息,请参阅 android:autoLink - Have a Clickable Phone Number link in a TextView, in XML

关于android - 如何在TextView上创建拨号链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24969632/

相关文章:

android - Volley Post JsonArrayRequest 给客户端错误,同时在 postman 工作中测试相同的输入

android - 使用选项卡 Activity 时无法获取相机图片

android - 演示和付费应用 - 如何实现?

android - 在按钮的一角添加文本 Android

android - 空推广告错误

Android 应用程序名称不会显示在应用程序抽屉中

java - 我想在我的cardview+RecyclerView中显示标题、描述和价格,而它只显示标题

java - 重新启动应用程序时加密 key 会更改吗?

android - android studio 的 Jetpack Compose 查看器中是否有自动刷新?

android - 如何更改 android::CoordinatorLayout 屏幕