0

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));

どうしたの?

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 に答える