Android 我想文本视图作为一个可点击的链接
Android正在文本视图中突出显示链接,但它们不会对点击做出响应。有人能告诉我,我如何才能做到这一点作为一个点击和移动到另一个链接。Android 我想文本视图作为一个可点击的链接,android,hyperlink,textview,clickable,Android,Hyperlink,Textview,Clickable,Android正在文本视图中突出显示链接,但它们不会对点击做出响应。有人能告诉我,我如何才能做到这一点作为一个点击和移动到另一个链接。 我尝试了更多的例子。但我不能。有人能给我解释清楚如何将文本视图更改为可点击链接吗。在字符串文件中输入此代码 <TextView android:id="@+id/link" android:layout_width="wrap_content" android:layout_height="wrap_content" and
我尝试了更多的例子。但我不能。有人能给我解释清楚如何将文本视图更改为可点击链接吗。在字符串文件中输入此代码
<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"
/>
这是经过编辑的答案 您好,您可以尝试在layout.xml文件中替换它
android:text="@string/link"
我已经试过了,肯定会成功的。并将“www.google.com”视为web链接您可以将click listener添加到TextView并启动websearch:
<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" />
xml看起来像:
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);
}
});
所有测试和工作100%
下面是一个完整的示例
解决方案:
android:autoLink=“web”
示例Xml:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/link_string"
android:textSize="14dp"
android:autoLink="web" />
只需将onClick标记添加到与定义的函数相等的TextView中。如下
<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>
在您的onCreate()方法中放置以下代码:
<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"/>
我尝试了许多解决方案。但这对我来说非常有效。这是最容易理解的代码
TextView clickableTextLink = (TextView)findViewById(R.id.your_textview_id); clickableTextLink.setMovementMethod(LinkMovementMethod.getInstance());
TextView链接=(TextView)findViewById(R.id.hyper);
String linkText=“这是我的网站。”;
setText(Html.fromHtml(linkText));
setMovementMethod(LinkMovementMethod.getInstance());
看看这个
快乐编码 这是一个经过Android N测试的简单实现
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());
String termsText=“注册即表示您同意我们的”;
字符串termsLink=“”;
字符串privacyLink=“和我们的”;
字符串allText=termsText+termsLink+privacyLink;
if(Build.VERSION.SDK\u INT>=Build.VERSION\u code.N){
((TextView)findViewById(R.id.text_terms_conditions)).setMovementMethod(LinkMovementMethod.getInstance());
((TextView)findviewbyd(R.id.text\u terms\u conditions)).setText(Html.fromHtml(allText,Html.FROM\u Html\u MODE\u LEGACY));
}否则{
((TextView)findViewById(R.id.text_terms_conditions)).setMovementMethod(LinkMovementMethod.getInstance());
((TextView)findviewbyd(R.id.text\u terms\u conditions)).setText(Html.fromHtml(allText));
}
这是不可单击的链接文本视图。我现在能做什么呢?你到底想要什么请在我做完你上面说的事情后解释一下。但现在也不能点击了。我不知道问题出在哪里了。请注意字符串周围的单引号。我没有尝试,但几乎编辑了这个答案,然后看到了那些引用。这里描述了另一种方式:我补充了你上面所说的。但它在字符串中显示了错误,如在此行中找到的多个注释:-错误:撇号前面没有\(in')-错误:找到文本“忘记密码?”其中项目标记现在是作为快速解决方案尝试写入“'>忘记密码”请不要使用R.string.link并忘记string.xml。请尝试此已编辑的答案。此答案再次更改,仅限文本名称。我希望该文本作为一个可点击的链接。在我的代码中,单击忘记密码意味着它将直接移动到网页,正如我在string.xml文件的文本背景中提到的那样。希望你能理解。那么,老板,你为什么要这么头疼呢?请保留一个背景为“#00000000”的按钮,点击该按钮,就可以调用在浏览器中加载URL的意图。试试看,知道为什么链接不可点击吗?
TextView clickableTextLink = (TextView)findViewById(R.id.your_textview_id); clickableTextLink.setMovementMethod(LinkMovementMethod.getInstance());
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());
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));
}