ボタンがクリックされたときに標準のアクションセット(ログの書き込みなど)を実行できるカスタムボタンを実装しようとしています。さらに、ボタンのすべてのインスタンスに固有の割り当てられたクリックリスナーを実行しています。それは可能ですか?
どうもありがとう
ボタンがクリックされたときに標準のアクションセット(ログの書き込みなど)を実行できるカスタムボタンを実装しようとしています。さらに、ボタンのすべてのインスタンスに固有の割り当てられたクリックリスナーを実行しています。それは可能ですか?
どうもありがとう
解決策が見つかりました。このようにして、ボタンのすべてのインスタンスに対して、指定されたクリックリスナーを実行する前に、標準的な一連のアクションを実行できます (この場合はログを書き込むだけです)。
@Override
public void setOnClickListener(final OnClickListener l) {
super.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
LogHelper.WriteLogInfo("click");
l.onClick(v);
}
});
}
これを試して:
Activity に OnClickListener を実装します。
public class MainActivity extends Activity implements OnClickListener
次のように、すべてのビューにクリック リスナーを追加します。
boldButton = (Button) findViewById(R.id.bold);
boldButton.setOnClickListener(this);
次に、すべてのビューに共通の OnClick イベントをオーバーライドします。
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.bold:
// Do Something
break;
case R.id.italic:
// Do Something
break;
case R.id.underline:
// Do Something
break;
case R.id.reset:
// Do Something
break;
default:
break;
}
}
お役に立てば幸いです。
ありがとう。