第一种,在要被点击的控件里添加 onClick 属性
格式:
android:onClick="方法名" eg: android:onClick="oneOnClick"
接下来,我们就在对应使用这个布局的Activity上面写一个方法,这个方法的格式为:
public void 方法名 (View view) {
方法里的执行代码...
}
比如说,我们这个oneOnClick案例:
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@drawable/selector_white_bg"
android:onClick="oneOnClick"
android:text="C"
android:textSize="24sp" />
这个oneOnClick这个点击事件处理如下:
public void oneOnClick(View view){
Log.d(TAG, "oneOnClick: ");
if (view instanceof TextView) {
String oneText = ((TextView) view).getText().toString();
Log.d(TAG, "oneOnClick: " + oneText);
}
}
第二种,就是通过ID声明的方式来找到控件,然后对这个控件设置点击事件。
1.给对应控件添加id
<Button
android:layout_id="@id/tv_equal"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@drawable/selector_white_bg"
android:text="C"
android:textSize="24sp" />
2.在对应的activity找到控件
private Button mEqual
//找控件
initView();
private void initView() {
mEqual = this.findViewById(R.id.tv_equal);
省略...
}
3.设置点击事件
//设置点击事件
initClickEvent();
private void initClickEvent() {
mEqual.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Log.d(TAG, "OnClick: " + ((TextView) v).getText().toString() );
}
});
}