1、新创建一个类
2、使用内部类
3、当多个button按钮时,为简化代码而创建的实例listener
贴代码:
MainActivity.Java 文件:
package com.android.study; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity { /** Called when the activity is first created. */ private Button btn1; private Button btn2; private Button btn3; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btn1=(Button)findViewById(R.id.btn1); btn1.setOnClickListener(new ButtonClick()); //给Button注册一个事件
//第二种方式 btn2=(Button)findViewById(R.id.btn2); btn2.setOnClickListener(new OnClickListener() { public void onClick(View v) { Toast.makeText(MainActivity.this, "第二种触发按钮Button方式",Toast.LENGTH_LONG).show(); System.out.println("第二种触发按钮Button方式"); } });//内部匿名类,实现了接口的对象 btn3=(Button)findViewById(R.id.btn3); btn3.setOnClickListener(listener); }
//第三种方式 private OnClickListener listener=new OnClickListener() { public void onClick(View v){ switch(v.getId()) { case R.id.btn1: break; case R.id.btn2: break; case R.id.btn3: Toast.makeText(MainActivity.this, "第三种触发按钮Button方式",Toast.LENGTH_LONG).show(); System.out.println("第三种触发按钮Button方式"); break; } } }; }