は、ボタンがクリックされたときにリスナーに引数を渡すことが可能です:setOnClickListenerを呼び出すときに引数を渡しますか?
protected void onCreate(Bundle savedInstanceState) {
....
String myArg = "Hello";
Button button1 = (Button)findViewById(R.id.myButton);
button1.setOnClickListener(myListener);
String myArg = "Goodye";
Button button2 = (Button)findViewById(R.id.myOtherButton);
button2.setOnClickListener(myListener);
}
OnClickListener clickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// print the value from the passed in argument myArg
Log.v("TEST", myArg);
}
};
これはあくまでも一例ではなく、私が実際にやってwan'tが、それは問題を示して何をするかの反射です。
基本的にmyArgをリスナーに渡したいので、ボタンをクリックするとmyArg変数にアクセスできます。
私はこれをインラインの匿名クラスとして行うことができますが、私はたくさんのボタンを持ち、クリックロジックはすべて同じものです。それはボタンごとに異なるので、私は引数が必要です。
FYI:実際の使用では、引数がViewオブジェクトである必要があります。
あなたは変数が束縛必要なのでしょうか?つまり、いつonClickListener()がアクセスできるようにする変数の値をいつ決めるのでしょうか? –