Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 文本视图超链接不工作?_Android_Xml_Android Layout_Hyperlink - Fatal编程技术网

Android 文本视图超链接不工作?

Android 文本视图超链接不工作?,android,xml,android-layout,hyperlink,Android,Xml,Android Layout,Hyperlink,为什么TextViewHyperlink不起作用 在自定义对话框中使用超链接 超链接不显示 我错了。如何解决它。给我指引 XML代码是 <TextView android:id="@+id/google_Link" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" android:p

为什么
TextView
Hyperlink不起作用

在自定义
对话框中使用超链接

超链接不显示

我错了。如何解决它。给我指引

XML代码是

<TextView
android:id="@+id/google_Link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:padding="10dip"
android:textSize="20dip"
android:linksClickable="true"  
android:autoLink="all"
android:textColorLink="#306EFF"
android:text="" />

Android代码是

TextView googleLink = ( TextView ) layout.findViewById( R.id.google_Link );
googleLink.setClickable(true);
googleLink.setMovementMethod(LinkMovementMethod.getInstance());
googleLink.setText( Html.fromHtml( "<a href=`http://www.google.co.in`>Google</a>" ) );
TextView谷歌链接=(TextView)layout.findviewbyd(R.id.google\u链接);
googleLink.setClickable(true);
setMovementMethod(LinkMovementMethod.getInstance());
googleLink.setText(Html.fromHtml(“”);
Android清单代码是

<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />


提前感谢。

它不起作用,因为您无法将a href设置为a
TextView

您需要设置一个OnClickListener,它的
onClick
方法中包含以下内容:

String url = "http://www.google.co.in";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
之后,您可以将侦听器设置为您的
TextView
,如下所示:
googleLink.setOnClickListener(myListener)


然后再次运行该应用程序,并正确处理单击操作。

仅替换此链接,它将工作:

TextView textView=(TextView) findViewById(R.id.link);
textView.setClickable(true);
String linkTxt=getResources().getString(R.string.link);
textView.setMovementMethod(LinkMovementMethod.getInstance());
textView.setText(Html.fromHtml( linkTxt));
将其添加到strings.xml中:

<string name="link">&lt;a href=http://www.google.co.in&gt;Google&lt;/a&gt;</string>
a href=http://www.google.co.inGoogle/a

解决此问题的最佳方案是: 首先,创建一个Textview

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/link"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:text="@string/developed_by_bracecodes"/>
快乐编码! 谢谢


使用
autoLink=web
将链接文本自动定义为可单击的超链接。您还可以使用
textColorLink

确定它的颜色。您的解决方案就在这里

实现'me.saket:更好的链接移动方法:1.1'
留言?,留言?,让我来{
chatMessageTextView.setText(HtmlCompat.fromHtml(it.trim(),HtmlCompat.FROM\u HTML\u MODE\u LEGACY),TextView.BufferType.SPANNABLE)
}
chatMessageTextView.movementMethod=BetterLinkMovementMethod.newInstance().apply{
setOnLinkClickListener{},url->
//Handle单击或返回false以让框架处理此链接。
handleMessageLink(itemView.context,url)
真的
}
}

反勾号在HTML中不用于字符串分隔符。使用Java中的
\“
在带引号的字符串中嵌入引号。我还将去掉
setClickable()
setMovementMethod()
,因为这些应该由您建议的
TextView
内容来处理。谢谢。它正在工作。但是超链接没有出现。如何设置超链接。您可以使用
setText(“http://www.google.co.in)
TextView的
method
方法。谢谢。它正在工作。但是当我可以使用
setText(“谷歌”);
方法
TextView
时,超链接就不会出现了。如何添加带有下划线的自定义标题。这是一个不同的问题。我建议阅读并检查它所说的内容。
<string name="developed_by_bracecodes"><a href="http://www.bracecodes.com">Developed by Bracecodes</a>  </string>
TextView link = findViewById(R.id.link);
link.setMovementMethod(LinkMovementMethod.getInstance());
<TextView 
android:layout_width="fill_parent"
android:layout_height="fill_parent" 
android:id="@+id/hyperlink" 
android:text="@string/hyperlink"
android:textColorLink="@color/quantum_yellow"
**android:autoLink="web"**
/>
implementation 'me.saket:better-link-movement-method:1.1'



 message?.message?.let {
            chatMessageTextView.setText(HtmlCompat.fromHtml(it.trim(), HtmlCompat.FROM_HTML_MODE_LEGACY),TextView.BufferType.SPANNABLE)
        }

  chatMessageTextView.movementMethod = BetterLinkMovementMethod.newInstance().apply {
        setOnLinkClickListener { _, url ->
            // Handle click or return false to let the framework handle this link.

       
            handleMessageLink(itemView.context,url)
            true
        }
    }

     <TextView
            android:id="@+id/chat_message_text_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/files_layout"
            android:layout_marginStart="@dimen/space_ultra_small"
            android:text="@string/text_small"
            android:textColor="@color/black"
            android:padding="@dimen/space_ultra_small"
            android:textColorLink="@color/sky_blue"
            android:textSize="@dimen/text_size_large" />