我有一个具有不同组件(单选按钮、复选框、按钮与)的应用程序。我动态创建了所有这些组件,但现在有一个问题;
当他们创建时,我无法为所有人创建事件。我需要对所有这些事件的单击事件的建议。
原谅我的英语有点糟糕,但提前谢谢你。请帮我
您是否尝试在您的活动中实现 onclicklistener ?之后,对于所有组件,您应该设置它们的 onclicklistener。但是有一个重要的一点。单选按钮和复选框有自己的侦听器,“setOnCheckedChangeListener”。我认为你应该使用它。但如果你愿意,你可以像这样实现 OnClickListener。
public class myActivity extends Activity implements OnClickListener {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1.setOnClickListener(this);
checkbox1.setOnClickListener(this);
radiobuton1.setOnClickListener(this);
}
@Override
public void onClick(View v) {
//You can listen "click event" of button1 ,checkbox1 and radiobutton1 here.
}
}
RadioButton rb ;
CheckBox cb;
Button btn;
public void MultiEvent (int clickId ){
if (clickId == 0) {
}else if (clickId == 1) {
}else if (clickId == 2) {
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rb = (RadioButton)findViewById(R.id.radioButton1);
cb = (CheckBox)findViewById(R.id.checkBox1);
btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
int clickId = 0;
MultiEvent (clickId );
}
});
rb.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int clickId = 1;
MultiEvent (clickId );
}
});
cb.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
int clickId = 2;
MultiEvent (clickId );
}
});
}