当多个按钮处于活动状态时,按钮超链接不起作用

时间:2016-01-01 18:24:40

标签: android button hyperlink

我想在活动中有几个按钮,当触摸它们时会转到Url,但只有一个按钮设置链接和其他人有不寻常的反应,并且不设置文本和URL。

<TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="18dp"
            android:textColor="#000000"
            android:text="@string/antivirus" />

        <Button
            android:id="@+id/antivirusbtn"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:background="#021f4e"
            android:text="Button"
            android:textColor="#ffffff"
            android:textSize="18dp" />

      <Button
            android:id="@+id/antivirusbt"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:background="#021f4e"
            android:text="Button"
            android:textColor="#ffffff"
            android:textSize="18dp" />

在java上:     @覆盖     public void onCreate(Bundle savedInstanceState){         super.onCreate(savedInstanceState);

    setContentView(R.layout.antivirus);
    Button link =(Button)findViewById(R.id.antivirusbtn);
    link.setClickable(true);
    link.setMovementMethod(LinkMovementMethod.getInstance());
    String text = "<a href = 'http://kmspico10.com/'>ESET</a>";
    link.setText(Html.fromHtml(text));


    Button link1 =(Button)findViewById(R.id.antivirusbtn2);
    link1.setClickable(true);
    link1.setMovementMethod(LinkMovementMethod.getInstance());
    String text1 = "<a href = 'http://test.com/'>Macafee</a>";
    link.setText(Html.fromHtml(text1));

1 个答案:

答案 0 :(得分:-1)

只有当您希望 TextView显示为链接 时,才需要设置MovementMethod和Clickability等。 (类似于此图像中的链接http://i.stack.imgur.com/a1QND.png

默认情况下,按钮是可点击的,您只需使用Action_view即可在浏览器中启动URL。

   Uri uri = Uri.parse("http://www.abcd.com/faqs.html");
   Intent intent = new Intent(Intent.ACTION_VIEW, uri);
   startActivity(intent);