Android - 我们可以将OnClickListener扩展为另一个类吗?

时间:2012-10-13 23:09:45

标签: java android class abstract-class

public class A extends Activity {
   public void onCreate(Bundle b){
      ~
       Button b1 = (Button) findViewById(R.id.btn);
       b1.setOnClickListener(new B());
      ~
   }
}

public class B extends OnClickListener{
    ~ do something public void onClick() etc..
}

有可能或者有没有办法做到这一点?

1 个答案:

答案 0 :(得分:9)

OnClickListener是一个界面,所以根据你想要用它做什么,你可以使用:

public interface MyClickListener extends OnClickListener {}

public class MyClickClass implements OnClickListener {}

看看你的例子,我假设你想要第二个选项:

public class MyClickClass implements OnClickListener {
    @Override
    public void onClick(View v) {
        Log.v("MyClickClass", "b1 clicked!");
    }
}

像这样使用:b1.setOnClickListener(new MyClickClass());