如何检查EditText是否具有特定的文本/字符串

时间:2013-07-03 03:37:01

标签: java android android-edittext

我大约2个月前自己开始使用JAVA,所以如果我写一些愚蠢的东西,我很抱歉:pp

我认为我的所有问题都在这里得到了回答,但是这个我没找到我想要的东西。我的问题是:

我有一个带有单个EditText和Button的应用程序,用户输入文本,按钮将对其进行分析。 我也有2个盒子,一个用苹果和橙子,另一个用柠檬和土豆。

如果用户输入:“我想要苹果”,程序会说:“它在Box 1内”。 但是用户可以输入他想要的任何东西,但食物的名称永远不会改变,它将是苹果,橙子,土豆或柠檬。那我怎么能对程序说:if(MyEditText包含“apple”),显示方框1,否则如果(MyEditText包含“lemon”)显示方框2?

我正在做这个应用程序,因为我想学习越来越多关于Android开发的知识。希望我很清楚。

抱歉我的英文

4 个答案:

答案 0 :(得分:1)

我不是Android开发人员,但基于this answer你可以尝试像

这样的东西
if(myEditText.getText().toString().contains("apple")){//...

答案 1 :(得分:0)

您可以使用indexOf方法检查文本中是否存在特定字符串。或者,您可以使用contains方法。如果您希望忽略大小写,请将其全部转换为大写并比较如下:

EditText myEditText = (EditText) findViewById(R.id.edittext);
String myEditTextValue = myEditText.getText().toString();
String valueInUpperCase=myEditTextValue.toUpperCase() 

if(valueInUpperCase.contains("APPLE")) {
    // show box 1
} else if(valueInUpperCase.contains("LEMON")) {
    // show box 2
}

请参阅Java Docs for String

希望这会对你有所帮助。

答案 2 :(得分:0)

我假设您在用户点击按钮时要处理输入。你可以做这样的事情

   btnOK.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view) {
                String userInput = MyEditText.getText().toString();
                if(userInput.contains("apple")){
                    //Show it is inside box 1
                }else if(userInput.contains("orange")){
                     //Show it is inside box 2
                }
            }
        });

这里btnOK指你的按钮,无论你怎么称呼它。 至于显示信息,我不确定你的意思"我有2个盒子。"如果用方框表示textView已经有文本("它在方框1和#34;)("它在方框2和#34;中)。您只需更改可见性属性即可。视情况而定

textView1.setVisibility(View.VISIBLE); //textview containing ("it is in box 1")
textView2.setVisibility(View.INVISIBLE);   //textView containing ("it is in box 2")

或者您可以通过填充textView来显示结果。 textView.setText("Your text");

希望这有帮助。

答案 3 :(得分:0)

试试这个

String enteredText = editText.getText().toString();
if(enteredText.contains("apple")){
    ......
}
else if(enteredText.contains("orange")){
    ......
}

希望这有帮助。