Android Studio:将现有字符串与TextField.text进行比较
我想比较android studio中的两个字符串。我有一个文本字段,希望将此字符串与给定字符串进行比较 为了更好的描述,我加了一幅画。 我现有的字符串是例如“A”,我想现在通过按下按钮检查文本框是否包含此值 我试过了,但是代码中有一个错误,我没有发现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
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。请更具体地回答这个问题