Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.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_Hyperlink_Textview_Clickable - Fatal编程技术网

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

Android正在文本视图中突出显示链接,但它们不会对点击做出响应。有人能告诉我,我如何才能做到这一点作为一个点击和移动到另一个链接。
我尝试了更多的例子。但我不能。有人能给我解释清楚如何将文本视图更改为可点击链接吗。

在字符串文件中输入此代码

<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));
    }