我正在尝试点击动态生成的按钮
for (i = 0; i < Randombutton.size(); i++) {
Button btn = new Button(getApplicationContext());
//set button text
btn.setText(String.valueOf(Randombutton.get(i)));
//set button default color
btn.setBackgroundColor(Color.parseColor("#f2f2f2"));
btn.setTextSize(36);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Button clickedBtn = (Button) v;
// Log.w("cliked",String.valueOf(clickedBtn.getText()));
Log.w("cliked", "test");
}
});
RandomButtonView.addView(btn);
}
按钮显示正常,但单击事件不起作用。
答案 0 :(得分:1)
我尝试了此代码,并且工作正常。请也检查一下。
for (int i = 0; i < 5; i++) {
Button btn = new Button(this);
// btn.setId(i);
btn.setText(String.valueOf("Test : " + (i + 1)));
btn.setBackgroundColor(Color.parseColor("#f2f2f2"));
btn.setTextSize(8);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Button clickedBtn = (Button) v;
Toast.makeText(DynamicView.this, clickedBtn.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
layout_dynamic_content.addView(btn);
}