Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Studio:将现有字符串与TextField.text进行比较_Android_Android Edittext - Fatal编程技术网

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

Android Studio:将现有字符串与TextField.text进行比较,android,android-edittext,Android,Android Edittext,我想比较android studio中的两个字符串。我有一个文本字段,希望将此字符串与给定字符串进行比较 为了更好的描述,我加了一幅画。 我现有的字符串是例如“A”,我想现在通过按下按钮检查文本框是否包含此值 我试过了,但是代码中有一个错误,我没有发现 final TextField textField = (TextField) findViewById(R.id.editText); final String text1 = textField.getText().toStr

我想比较android studio中的两个字符串。我有一个文本字段,希望将此字符串与给定字符串进行比较

为了更好的描述,我加了一幅画。 我现有的字符串是例如“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 " );
            }

        }
    });
if (text1.equals(text2)) {
        Toast.makeText(getApplicationContext(), "Equal", Toast.LENGTH_LONG)
                .show();
    }
试试这个代码

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();
            }
        }
    });
像这样使用

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

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

我猜您声明了您的
按钮2
,就像您使用
EditText
一样,继续

您想检查您提供的字符串和在
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();
        }

希望这有点帮助:)

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

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

public OnClick(View v){

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

谢谢你所有的好答案! 我甚至尝试了一些方法,到目前为止效果很好。 谢谢大家。干得好


//editText.getText().toString()包含(“A”)

嗯。。。你想达到什么目的?。。。我是说。。。祝酒词什么时候出现?如果你想比较两个字符串,你应该使用equals(字符串)方法。你是想匹配整个字符串还是只是字符串的一部分?你说的比较是什么意思?你说的相等是什么意思?您正在使用contains检查text1中是否存在text2。请更具体地回答这个问题