机器人:的onClick =" openBrowser"不适用于XML

时间:2014-04-30 06:30:29

标签: android xml onclick

单击文本时android:onClick="openBrowser"无法正常工作,但对于其他图片(如Facebook,Twitter和Instagram),此功能正常。链接有效,当我将文本放在图像下方时可以点击,但是当我改变位置时它没有。任何人都可以帮我这个吗?

<ImageView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:src="@drawable/homepagel2"
    android:scaleType = "fitXY" />

<LinearLayout 
    android:id="@+id/linearLayout4"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_centerHorizontal="true"
    android:orientation="horizontal" 
    android:gravity="bottom"
    android:layout_alignParentBottom="true"
    android:layout_marginTop="60dp">

    <ImageView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/logofacebook"
        android:tag="http://www.facebook.com"
        android:onClick="openBrowser"
        />

    <ImageView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/instagramlogo"
        android:tag="http://instagram/"
        android:onClick="openBrowser"
        />  

    <ImageView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/twitter"
        android:tag="https://twitter.com"
        android:onClick="openBrowser"
        />
</LinearLayout>

<LinearLayout
    android:id="@+id/linearLayout5"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_centerHorizontal="true"
    android:gravity="center"
    android:orientation="horizontal">

    <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_marginBottom="-90dp"
       android:textSize="25sp"
       android:text="@string/website"
       android:tag="http://www..../"
       android:onClick="openBrowser"
       android:textColor="#ffffff"/>

</LinearLayout>

3 个答案:

答案 0 :(得分:1)

android:clickable="true"添加到TextView

答案 1 :(得分:1)

默认情况下,TextViews无法点击。我不确定您是否可以在没有onClick属性的textview上使用此xml属性来执行clickable事件。然后,您可以尝试添加此属性:

android:clickable="true"

或者应该制作点击监听器,如下所示:

((TextView) findViewById(R.id.text1)).setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        openBrowser(v);
    }
});

有了这个观点:

<TextView
    android:id="@id/text1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="-90dp"
    android:textSize="25sp"
    android:text="@string/website"
    android:tag="http://www..../"
    android:textColor="#ffffff" />  

点击监听器会自动使其可点击,然后前一个属性将无用。

答案 2 :(得分:0)

这对我有用

<TextView
            android:id="@+id/text1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:autoLink="all"
            android:text="@string/link_text_auto"
            />

来源:http://android.okhelp.cz/linkify-text-link-url-in-textview-text-android-example/