2010-09-22 23 views
6

mam EditText w Android, w którym chcę użytkownika, aby wprowadzić tekst i sprawdza za stan „bye” próbkajak zrobić wejście od użytkownika w android

Kod:

EditText text = (EditText)findViewById(R.id.EditText01); 
String abc= text .getText().toString(); 

while(!(abc).equals("bye")){ 

    abc = text.getText().toString();//user should enter the text from keyboard and the while loop should go and chech the condition.but not able to enter the text 

    //do some operation with abc 

} 

Jak czy mogę zmusić użytkownika do wprowadzenia tekstu? Interfejs użytkownika powinien poczekać na wpisanie tekstu (coś takiego, że mamy InputStreamReader w aplikacjach java).

Odpowiedz

5

Nie potrzebuję pętli, aby to zrobić. Z Twojego komentarza wygląda na to, że masz przycisk "Enter" lub coś, co klikasz, aby wykonać sprawdzenie. Wystarczy ustawić onclicklistener i onclick można dokonać EditText niewidoczne (lub nie-edytowalne), kontrola jest EditText jest równy „BYE”, a następnie nie twoje działania mogłyby wyglądać następująco:

final EditText ET = (EditText) findViewById(R.id.EnterText); 
Button B1 = (Button) findViewById(R.id.EnterButton); 
B1.setOnClickListener(new View.OnClickListener() { 

       public void onClick(View v) { 
        ET.setVisibility(View.INVISIBLE); 
        if(ET.getText().toString() == "BYE") 
        { 
         //do something if it is "BYE" 
        } else { 
         Context context = getApplicationContext(); 
        CharSequence text = "Please enter BYE"; 
        int duration = Toast.LENGTH_SHORT; 
        Toast toast = Toast.makeText(context, text, duration); 
        toast.show(); 
        } 
        ET.setVisibility(View.VISIBLE); 
       } }); 
2

Zamiast uruchamiać tę kontrolę w nieskończonej pętli, należy uruchamiać ją tylko dla każdego obiektu onKeyUp EditText. Wiesz, w każdym razie, że warunek będzie spełniony tylko wtedy, gdy użytkownik faktycznie coś wprowadzi.

+0

ale chcę wchodzić z keyboard.its coś takiego: i wpisać jakiś tekst i naciśnij enter wtedy, gdy pętla powinna sprawdzić jeśli wprowadzony łańcuch to "BYE", to zakończ lub wejdź w pętlę i poproś mnie o wpisanie agai n do momentu wprowadzenia "BYE" – SPB

3

bardzo proste: -

EditText text = (EditText)findViewById(R.id.EditText01); 
String str = text.getText().toString(); 

teraz w ul u dostanie ciąg znaków, który jest wpisany w EditText

Powiązane problemy