本文介绍事件监听处理的三种方法(详细方法见Java代码实现):
1.事件处理方式1:使用匿名内部类
2.事件处理方式2:使用具有类名的内部类
3.事件处理方式3:由自己监听事件,前提需要实现监听
package com.example.listener;
import android.location.GpsStatus.Listener;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity implements OnClickListener {
int count = 0;
TextView textView2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1 = (Button) this.findViewById(R.id.button1);
button1.setText("按钮1");
textView2 = (TextView) this.findViewById(R.id.textView2);
textView2.setText("Times Ready");
// 事件处理方式1:匿名内部类
OnClickListener onClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
textView2.setText("Times1: " + ++count);
}
};
button1.setOnClickListener(onClickListener);
// 事件处理方式2:有名内部类
class MyListener implements OnClickListener {
@Override
public void onClick(View v) {
textView2.setText("Times2: " + ++count);
}
}
Button button2 = (Button) this.findViewById(R.id.button2);
button2.setOnClickListener(new MyListener());
// 事件处理方式3:自己监听自己的事件,前提是自己要implements OnClickListener
Button button3 = (Button) this.findViewById(R.id.button3);
button3.setOnClickListener(this);
}
@Override
public void onClick(View v) {
textView2.setText("Times3: " + ++count);
}
}