1、匿名内部类
必须实现一个父类或接口,可以看作一个子类
mybutton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"匿名内部类",Toast.LENGTH_LONG).show();
}
});
2、调用外部类
testbutton.setOnClickListener(new MyOnclickListenr(){
@Override
public 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调用当前对象