Android中布局文件中使用onClick属性

安卓开发中,布局文件中的控件有一个属性,是onClick,例如:

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onButtonClick"
        android:text="Button" />

在相应的Activity中实现onButtonClick方法,就可以实现Button绑定点击监听事件,非常简单方便。

public void onButtonClick(View view){
 Toast.makeText(MainActivity.this, view.getId()+"", Toast.LENGTH_LONG).show();
}

但是,在TextView中,这个设置无效:

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onButtonClick"
        android:text="Large Text"/>

解决办法,添加android:clickable=“true”

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:onClick="onButtonClick"
        android:text="Large Text"/>

不同的控件默认的android:clickable属性值是不同的,所以,在设置Button以外的View的android:onClick="onButtonClick"时,最好,加上android:clickable=“true”。

猜你喜欢

转载自blog.csdn.net/chengsiguo/article/details/88422488