Android Studio:将现有字符串与 TextField.text 进行比较

Android Studio: Compare existing string with TextField.text

我想在 android studio 中比较两个字符串。我有一个 textfield 并且想将这个字符串与给定的字符串进行比较。

为了更好的描述,我添加了一张图片。 我现有的字符串例如 "A",我现在想检查文本框是否包含此值,方法是按下按钮。

我试过了,但是代码中有一个错误,我没有找到...

    final TextField textField = (TextField) findViewById(R.id.editText);
    final String text1 = textField.getText().toString();
    final String text2 = "A";


    button2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Log.v("Button2", "click");
            if(text1.contains(text2)){
                toast.show();
            }
        }
    });

我希望这能改进我的第一个(坏)问题!

方法包含只检查text1是否包含text2。你应该使用 equals() 方法。

你可以这样做

    final EditText editText = (EditText) findViewById(R.id.editText);
    final String text1 = editText.getText().toString();
    final String text2 = "A";



 button2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Log.v("Button2", "click");
            System.out.println("text1: " + text1);
            System.out.println("text2: " + text2);
            if (text1.length()>0&&!text1.equalsIgnoreCase("")) {
                if(text1.equalsIgnoreCase(text2)){
                    toast.show();
                }   
            } else {
                System.out.println("text1 is null " );
            }

        }
    });

试试这个代码

final EditText editText = (EditText) findViewById(R.id.editText);
    final String text1 = editText.getText().toString();
    final String text2 = "A";


    button2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Log.v("Button2", "click");
            if(text1.equals(text2)){
                toast.show();
            }
        }
    });

这样使用

if (text1.equals(text2)) {
        Toast.makeText(getApplicationContext(), "Equal", Toast.LENGTH_LONG)
                .show();
    }

我猜你像 EditText 一样声明了你的 Button2,继续......

你想检查你提供的字符串和正在EditText写入的字符串是否相同,当你按下一个按钮时,你的代码是正确的,但你需要比较EditText 是动态的,所以你必须改变这个:

            if(text1.contains(text2)){
            toast.show();
        }

为此:

            if(editText.getText().toString().equals(text2)){
            Toast.makeText(getApplicationContext(),"Your message/Your String",Toast.LENGTH_LONG).show();
        }

希望对您有所帮助:)

你必须使用这样的东西,因为当你比较文本时,你必须有一个更新版本的 text1。

如果你问开头的文字,里面什么都没有。 您必须在每个 OnClick 事件中询问 text1。

public OnClick(View v){

   text1 = editText.getText().toString();
   if(text1.equals(text2)){
          //doStufg
   }
}

感谢所有好的和有用的答案! 我什至尝试过一些方法,到目前为止效果很好。 感谢这里的每一个人。干得好!

// editText.getText().toString().contains("A");