1、匿名内部类
必须实现一个父类或接口,可以看作一个子类
mybutton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this,"匿名内部类",Toast.LENGTH_LONG).show(); } }); 2、调用外部类 testbutton.setOnClickListener(new MyOnclickListenr(){ @Overridepublic void onClick(View v) { Toast.makeText(MainActivity.this,"接口",Toast.LENGTH_SHORT).show(); public void onClick(View v) { super.onClick(v); } }); class MyOnclickListenr implements OnClickListener { @Override public void onClick(View v) { //Toast.makeText(,"test",1).show(); System.out.println("yes"); } } 可以在按钮中实现其独有的操作,在外部类中实现公共的操作。 3、接口方式 public class MainActivity extends AppCompatActivity implements OnClickListener public void onClick(View v) { Toast.makeText(MainActivity.this,"接口",Toast.LENGTH_SHORT).show(); testbutton.setOnClickListener(this); 首先是需要让Activity对象继承OnClickListrner接口然后给出他虚函数的具体实现 直接通过this调用当前对象