如何从android中的用户获取输入

时间:2010-09-22 06:43:08

标签: android

我在android中有一个EditText,我希望用户输入文本并检查条件“BYE”

代码示例:

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

 }

如何让用户输入文本?UI应该等待输入文本(类似于我们在java应用程序中有InputStreamReader)。

3 个答案:

答案 0 :(得分:7)

非常简单: -

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

现在在str中将获得在EditText中输入的字符串

答案 1 :(得分:5)

我认为你不需要循环来做到这一点。从您的评论中看起来您还有一个“输入”按钮或您点击进行检查的内容。只需设置一个onclicklistener并onclick你可以使edittext不可见(或不可编辑),检查edittext是否等于“BYE”然后你的行为可能看起来像这样:

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 :(得分:2)

不是在无限循环中运行此检查,而是仅在EditText的每个onKeyUp上运行它。无论如何,你知道,只有当用户真正输入某些内容时才会满足这种条件。