TextView的自动链接属性在Android中不起作用?

时间:2016-11-21 11:50:58

标签: android

我在点击TextView时使用下面的代码打开拨号。问题是它不适用于三星平板电脑10英寸设备。它正在打开一个对话框,其中包含选项'保存联系人'和'关闭''而不是打开拨号。我在联想7英寸(使用api级别19)和Motorolla droid turbo(使用api级别22)上使用相同的代码测试它工作正常,但三星10英寸平板电脑(使用api级别21)它显示对话提到的选项。我错过了什么或这是api特定的行为?以下是代码。

        <TextView
            android:layout_marginLeft="10dp"
            android:textColor="@color/white_color"
            android:layout_marginTop="10dp"
            android:id="@+id/tv_phone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:autoLink="phone"
            android:textColorLink="@color/white_color"
            android:layout_below="@+id/tv_address"
            android:text="PH: (800) 579-4875 (310) 534-1505" />

3 个答案:

答案 0 :(得分:0)

您可以设置点击事件处理程序以开始拨号。它必须适用于不同的固件。

textView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(Intent.ACTION_DIAL);

        intent.setData(Uri.parse("tel:" + "phone number here"));
        startActivity(intent);
    }
});

答案 1 :(得分:0)

试试这个

TextView phone = (TextView) layout.findViewById(R.id.idPhone);
phone.setAutoLinkMask(Linkify.PHONE_NUMBERS);

答案 2 :(得分:0)

我正在发布答案。这可能对其他人有帮助。问题不在代码或xml中。问题出在平板电脑硬件上。我的设备没有通话功能,这意味着我的平板电脑没有SIM卡插槽,这就是为什么我无法获得拨号屏幕的原因。