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

Posted 巫山老妖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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"。

以上是关于Android中布局文件中使用onClick属性的主要内容,如果未能解决你的问题,请参考以下文章

Android中如何在布局文件中为组件绑定点击事件?

Android使用TextView,设置onClick属性无效解决的方法

Android自定义ViewGroup(四打造自己的布局容器)

如何绑定android点击事件

Xamarin.Android:如何捕获 OnClick XML 属性中定义的按钮事件?

android 的Button怎样自动触发按下的动作