第一种方式
1)在要被点击的控件里面添加OnClick属性
android:onClick=”cancel”
2)
接着,在使用这个布局的Activity里去写一个方法,这个方法的格式是固定的:
(方法名,就是我们onClick里的值,而这个方法里这个View其实就是我们对应的控件,就上面这个例子,那么这个View其实就是TextView,所以点击的时候,我们可以获取到里面的字了)
view instanceof TextView //如果view组件包含该textView,则触发该事件。表示的是前者是否是后者的类的实例
public void 方法名(View view){
…..
}
比如说:将该TextView组件上面的东西展示出来
public void center(View view){
Log.d(TAG,"Onclick");
if (view instanceof TextView){
String string = ((TextView) view).getText().toString();
Log.d(TAG,"text+" +string);
}
}
第二种方式
1).通过id申明方式,设置控件id
android:id="@+id/hello_world" //设置控件的id
2).在对应的activity里面找到对应的控件
可以在OnCreate方法里面独立一个方法,用initView()方法找到对应的控件,用initOnClick()方法设置相应的点击事件
3).设置相应事件
方法①.通过findById(R.id.控件名称)找到对应控件,然后用setOnclickLinstener()匿名内部类的形式实现
方法②通过findById(R.id.控件名称)找到对应控件,然后在InitOnClick()中设置单独的
控件名. setOnClickListener()方法,用OnClick()实现该事件
private void InitOnClick() {
//设置对应的监听事件,并用onClick()方法实现
first_button.setOnClickListener(this);
second_button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
//如果多个方法需要实现该方法,则需要进行判断
if(v == first_button){
Log.d(TAG,"点击的是第一个按钮"+ first_button.getText().toString());
}else if(v == second_button){
Log.d(TAG,"点击的是第二个按钮"+ second_button.getText().toString());
}
}