1

ボタンを動的に作成しており、動的に設定する必要がありsetOnClickListener() ます。現在、以下のコードを使用しようとしていますが、次の構文エラーが発生します。

private void AddButton(){
    Button btn = new Button(this);
    btn.setOnClickListener(OnClick(this));

    layout.addView(delBtn);
}

public void OnClick(View v) {
    Log.d("Button", "Dynamically created button was clicked");
}

"The method OnClick(View) in the type ActivityExample is not applicable for the arguments ()"

これを解決するにはどうすればよいですか?

編集:AddButton()メソッドからクリックリスナーメソッドにボタンを付ける必要があります

4

3 に答える 3

3

または、リスナー用に別の変数が必要な場合は、次のようにします。

private void AddButton(){
    Button btn = new Button(this);
    btn.setOnClickListener(listener);

    layout.addView(delBtn);
}

public OnClickListener listener = new OnClickListener() {

    @Override
    public void onClick(View v) {
        Log.d("Button", "Dynamically created button was clicked");
    }
};
于 2013-09-07T07:43:43.320 に答える
0

匿名の内部クラスを使用してこれを試してください

 btn.setOnClickListener(new OnClickListener()
 {
        @Override
        public void onClick(View V)
        {
              // do something
        }    
 });

または、クラスに OnClickListener を実装させます。onClick メソッドをオーバーライドし、

 btn.setOnClickListener(this);
于 2013-09-07T07:42:24.230 に答える