使用setOnClickListener动态创建按钮

时间:2013-09-07 07:40:33

标签: android onclicklistener android-button

我正在动态创建按钮,我需要动态设置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()方法中的点击侦听器方法按钮

3 个答案:

答案 0 :(得分: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");
    }
};

答案 1 :(得分:0)

使用匿名内部类

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

或者让您的类实现OnClickListener。覆盖onClick方法和

 btn.setOnClickListener(this);

答案 2 :(得分:0)

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