我正在尝试在按钮上设置OnClickListener以获取选中的复选框,但我在此处收到此错误如何解决?
- 无法将OnClickListener解析为某种类型
- 类型View中的方法setOnClickListener(View.OnClickListener)不适用于参数(new OnClickListener(){}) - 新的OnClickListener(){}类型的onClick(View)方法必须覆盖或实现超类型方法
我在MainActivity中的方法:
private void createRadioButton(final ArrayList<Integer> items) {
final LinearLayout ll = (LinearLayout) findViewById(R.id.lila);
for (int i = 0; i < items.size(); i++) {
CheckBox cb = new CheckBox(this);
cb.setText(items.get(i) + "");
cb.setId(i);
ll.addView(cb);
}
Button btn = new Button(this);
btn.setLayoutParams(new LinearLayout.LayoutParams(500, 150));
btn.setText("submit");
ll.addView(btn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println("I have already overridden it. ");
}
});
}
答案 0 :(得分:2)
您的Java文件顶部的View.OnClickListener
语句列表中没有import
。添加:
import android.view.View.OnClickListener;
答案 1 :(得分:1)
private void createRadioButton(final ArrayList<Integer> items) {
final LinearLayout ll = (LinearLayout) findViewById(R.id.lila);
for (int i = 0; i < items.size(); i++) {
CheckBox cb = new CheckBox(this);
cb.setText(items.get(i) + "");
cb.setId(i);
ll.addView(cb);
}
Button btn = new Button(this);
btn.setLayoutParams(new LinearLayout.LayoutParams(500, 150));
btn.setText("submit");
ll.addView(btn);
**btn.setOnClickListener(new View.OnClickListener()** {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println("I have already overridden it. ");
}
});
}
只需将新的OnClickListener()更改为新的View.OnClickListener()