0

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

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

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

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

我做这个应用程序是因为我想了解更多关于 Android 开发的知识。希望我很清楚。

对不起我的英语

4

4 回答 4

2

我不是android开发人员,但基于这个答案你可以尝试类似

if(myEditText.getText().toString().contains("apple")){//...
于 2013-07-03T03:48:23.773 回答
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 中”)(“它在框 2 中”)。您可以简单地更改可见性属性。视情况而定

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

希望这可以帮助。

于 2013-07-03T04:22:02.310 回答
0

尝试这个

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

希望这可以帮助。

于 2013-07-03T04:33:32.483 回答
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 文档

希望这对您有所帮助。

于 2013-07-03T04:07:11.280 回答