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 回答
0

你必须在你的类中实现 onClickListener。

于 2013-09-07T07:50:56.447 回答