<TextView
android:id="@+id/link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="Forget password?"
android:autoLink="all"
android:linksClickable="true"
android:textColor="@color/lgreen"
android:textStyle="italic"
/>
Android正在突出显示TextView中的链接,但它们不响应点击。有人可以告诉我,我怎么能做到这一点作为一个可点击并移动到另一个链接。 我通过看例子尝试了很多次。但我不能。有人可以清楚地向我解释如何将文本视图更改为可点击链接。
答案 0 :(得分:52)
所有测试和工作100%
下面是一个完整的例子
解决方案:android:autoLink =“web”
样品Xml
<TextView
android:id="@+id/txtLostpassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:autoLink="email"
android:gravity="center"
android:padding="20px"
android:text="@string/lostpassword"
android:textAppearance="?android:attr/textAppearanceSmall" />
<TextView
android:id="@+id/txtLostpassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:autoLink="web"
android:gravity="center"
android:padding="20px"
android:text="@string/defaultpassword"
android:textAppearance="?android:attr/textAppearanceSmall" />
string.xml中的字符串
<string name="lostpassword">If you lost your password please contact <a href="mailto:support@cleverfinger.com.au?Subject=Lost%20Password" target="_top">support@cleverfinger.com.au</a></string>
<string name="defaultpassword">User Guide <a href="http://www.cleverfinger.com.au/user-guide/">http://www.cleverfinger.com.au/user-guide/</a></string>
答案 1 :(得分:10)
您可以将Click侦听器添加到TextView并启动websearch:
textView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view)
{
Intent browser= new Intent(Intent.ACTION_VIEW, Uri.parse(PASTE_YOUR_URL_HERE));
startActivity(browser);
}
});
和xml看起来像:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/link_string"
android:textSize="14dp"
android:autoLink="web" />
答案 2 :(得分:6)
在字符串文件中输入此代码
<string name="link">'<a href="http://www.www.com" >ForGet Password</a>'</string>
并在XML文件中
android:text="@string/link"
答案 3 :(得分:3)
这是EDITED的回答
您好,您可以尝试在layout.xml文件中替换它
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="visit the site at www.google.com from here"
android:autoLink="all"
android:clickable="true"
android:linksClickable="true"
android:textAppearance="?android:attr/textAppearanceLarge" />
我已经尝试过它肯定会奏效。并将“www.google.com”视为网络链接
答案 4 :(得分:3)
在您的onCreate()
方法中输入此代码:
TextView clickableTextLink = (TextView)findViewById(R.id.your_textview_id); clickableTextLink.setMovementMethod(LinkMovementMethod.getInstance());
我尝试了很多解决方案。但这对我来说非常合适。
答案 5 :(得分:3)
这是最简单易懂的代码
TextView link = (TextView) findViewById(R.id.hyper);
String linkText = "This is my website <a href='http://programondaspot.blogspot.com'>Programondaspot</a> .";
link.setText(Html.fromHtml(linkText));
link.setMovementMethod(LinkMovementMethod.getInstance());
查看此post!
快乐的编码!
答案 6 :(得分:1)
以下是针对Android N进行测试的简单实现
String termsText = "By registering, you are agree to our";
String termsLink = " <a href=https://www.yourdomain.com/terms-conditions.html >Terms of Service</a>";
String privacyLink = " and our <a href=https://www.yourdomain.com/privacy-policy.html >Privacy Policy</a>";
String allText = termsText + termsLink + privacyLink;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
((TextView) findViewById(R.id.text_terms_conditions)).setMovementMethod(LinkMovementMethod.getInstance());
((TextView) findViewById(R.id.text_terms_conditions)).setText(Html.fromHtml(allText, Html.FROM_HTML_MODE_LEGACY));
} else {
((TextView) findViewById(R.id.text_terms_conditions)).setMovementMethod(LinkMovementMethod.getInstance());
((TextView) findViewById(R.id.text_terms_conditions)).setText(Html.fromHtml(allText));
}
答案 7 :(得分:0)
只需将onClick标记添加到TextView,它等于定义的函数。如下所示
<TextView
android:id="@+id/link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="Forget password?"
android:autoLink="all"
android:linksClickable="true"
android:textColor="@color/lgreen"
android:textStyle="italic"
android:onClick="callFunction"/>