0

我已经在一个单独的类中实现了 onClickListener 和我的应用程序的主要活动。主类包含一些按钮和一些编辑文本,当用户按下取消按钮时,应该重置编辑文本提示。主要活动

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

但它不起作用。当我按下取消时,它不会被删除的edittext。在主要活动中,我用

Button b = (Button)findViewById(R.button.button_cancel);

并设置监听器

b.setOnclickListener(new ButtonListener(this, b, edittext));

怎么了?

4

2 回答 2

3

尝试将其文本设置为空白:

et.setText(" ");

您可以在此处查看其他方法。

处理此问题的另一种方法是隐藏按钮以暂时消除它。看看这个线程

于 2013-02-10T19:23:12.053 回答
1

你应该改变:

if(button.getId() == R.button.button_cancel)

到:

if(v.getId() == R.button.button_cancel)

以便代码检查引发点击事件的元素的标识符,而不是您的成员变量button

于 2013-02-10T19:23:01.370 回答