0

EditText と Button を使用した単純なレイアウトがあります。ユーザーが EditText に特定の単語を入力するたびにトーストが表示されるようにします。どうすればそれを行うことができますか?

Button btn;
EditText edt;
String Event;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btn=(Button)findViewById(R.id.Button1);
    edt=(EditText)findViewById(R.id.editText1);
    btn.setOnClickListener(this);
    Event=new String(edt.getText().toString());
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

@Override
public void onClick(View arg0) {
    // TODO Auto-generated method stub
    if(Event.equals("Test")){
        Toast.makeText(this, "Great!",Toast.LENGTH_LONG).show();
    }

}

}

4

3 に答える 3

1

に a を追加TextWatcherしますEditText

このチュートリアルでは、何をする必要があるかを示しています: http://karanbalkar.com/2012/10/tutorial-11-using-textwatcher-in-android/

于 2013-03-27T19:00:34.047 に答える
1

から削除new Stringします。

Event=new String(edt.getText().toString());

このような:

Event= edt.getText().toString();

これをすべてボタンの onClick に入れます。

btn.setOnClickListener(new View.OnClickListener() 
{
    public void onClick(View v) 
    {
        Event = edt.getText().toString();
        if(Event.equals("Test"))
        {
           Toast.makeText(this, "Great!",Toast.LENGTH_LONG).show();
        }
    }
}
于 2013-03-27T19:00:43.820 に答える
0
   EditText e = (EditText)findViewById(..); 
   e.addTextChangedListener(new TextWatcher(){

   @override
   void afterTextChanged(Editable s)
   {
        if(the word is in s.toString())
        {
         Toast...show();
        }
   }

   });
于 2013-03-27T19:02:41.347 に答える