3

ボタンがクリックされたときに標準のアクションセット(ログの書き込みなど)を実行できるカスタムボタンを実装しようとしています。さらに、ボタンのすべてのインスタンスに固有の割り当てられたクリックリスナーを実行しています。それは可能ですか?

どうもありがとう

4

2 に答える 2

6

解決策が見つかりました。このようにして、ボタンのすべてのインスタンスに対して、指定されたクリックリスナーを実行する前に、標準的な一連のアクションを実行できます (この場合はログを書き込むだけです)。

@Override
    public void setOnClickListener(final OnClickListener l) {

        super.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                LogHelper.WriteLogInfo("click");
                l.onClick(v);

            }
        });
    }
于 2012-12-21T13:20:52.840 に答える
2

これを試して:

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;
        }
    }

お役に立てば幸いです。

ありがとう。

于 2012-12-15T12:49:54.263 に答える