我在单独的类中实现了onClickListener和我的应用程序的主要活动。主类包含一些按钮和一些edittext,当用户按下取消按钮时,应重置edittext提示。 主要活动
public ButtonListener(Context cx , Button b, EditText f) {
cntx = cx;
button = b;
et = f;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//check wich button was pressed
if(button.getId() == R.button.button_cancel) {
et.setHint(R.string.et_nome);
}
else {
//operations for other buttons
但它不起作用。当我按下取消时,它的编辑文本不会被删除。 在主要活动中,我用
调用按钮Button b = (Button)findViewById(R.button.button_cancel);
并设置监听器
b.setOnclickListener(new ButtonListener(this, b, edittext));
出了什么问题?
答案 0 :(得分:3)
答案 1 :(得分:1)
你应该改变:
if(button.getId() == R.button.button_cancel)
为:
if(v.getId() == R.button.button_cancel)
以便代码检查引发click事件的元素的标识符,而不是成员变量button
。