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");
我想在 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");