2
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..
}

それは可能ですか、それともこれを行う方法はありますか?

4

1 に答える 1

9

OnClickListenerはインターフェイスなので、何をしたいかによって、次のいずれかを使用できます。

public interface MyClickListener extends OnClickListener {}

public class MyClickClass implements OnClickListener {}

あなたの例を見ると、2番目のオプションが必要だと思います:

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

次のように使用します。b1.setOnClickListener(new MyClickClass());

于 2012-10-13T23:15:48.723 に答える