Java 如何将TextView中的文本与字符串值进行比较

Java 如何将TextView中的文本与字符串值进行比较,java,android-studio,Java,Android Studio,这个问题已经被分别问过了,我收集了所有的答案并试过了,但这对我来说并不奏效。 我有一个TextView,它一次显示以下名称之一: Joseph99, 托马斯79, 结婚29, 马修21 在这个文本视图下面我有一个按钮。我想要的是,当TextView显示例如这个名称:Joseph99时,我希望按钮将其文本更改为:Yes 如果文本视图上显示任何其他名称,我希望按钮显示:否。 现在这个按钮实际上什么都不做,我只是想让它将文本更改为是或否,这取决于文本视图上显示的内容 我在onCreate()中尝试了以

这个问题已经被分别问过了,我收集了所有的答案并试过了,但这对我来说并不奏效。 我有一个TextView,它一次显示以下名称之一: Joseph99, 托马斯79, 结婚29, 马修21

在这个文本视图下面我有一个按钮。我想要的是,当TextView显示例如这个名称:Joseph99时,我希望按钮将其文本更改为:Yes

如果文本视图上显示任何其他名称,我希望按钮显示:否。 现在这个按钮实际上什么都不做,我只是想让它将文本更改为是或否,这取决于文本视图上显示的内容

我在onCreate()中尝试了以下内容:

final textview = tv.getText().toString();
final String str1 = "Joseph99";
final String str2 = "Thomas79"
final String str3 = "Marry29"
final String str4 = "Matthew21"

if(str1.matches(textview)){
button.setText("YES");
}else{button.setText("NO");}
在上面的代码中,文本匹配,但是我在一个按钮上得到一个NO,即使TextView上的文本等于str1。我也试过了。如下所示:

if(str1.equals(textview)){
button.setText("YES");
}else{button.setText("NO");}
但即使TextView与str1具有相同的文本,我仍然得到否定

我还尝试了以下代码:

if(!textview.getText().toString().matches("Joseph99");
还有:

if(!textview.getText().toString().equals("Joseph99")
但是按钮文本不会改变,无论TextView是否显示Joseph99,按钮文本始终为否

注意:TextView上显示的数据来自SharedReferences,它会随着时间的推移而变化


我的代码可能有一个错误,但三天来我一直在努力解决这个问题,但是我失败了。我强烈建议您调试并查看,因为一切似乎都是正确的,但我认为这是空白的问题

试试这个

 if(str1.equals(textview.trim())){button.setText("YES");}else{button.setText("NO");}

你能试着记录
textview
并告诉我们你得到了什么吗?可能是空格和/或大写字母与小写字母的对比,或者类似的情况?我已经尝试了下面的代码,但我得到了一个消息,我问的是您尝试使用
Log
在logcat中显示
textview
的值,并告诉我们您看到了什么。我没有提供任何代码。好吧,我很快就会这么做。我离开这里是为了解脱,