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

nat*_*lus 2 java android abstract-class 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..
}
Run Code Online (Sandbox Code Playgroud)

有可能或有任何方法可以做到这一点吗?

Sam*_*Sam 9

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

public interface MyClickListener extends OnClickListener {}

public class MyClickClass implements OnClickListener {}
Run Code Online (Sandbox Code Playgroud)

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

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

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