我是Android新手。我正在尝试编写一个在其中包含if语句的方法。我想要发生的是“如果Textview中的文本等于某个值,则更改布局中的背景图像。”我知道设置背景位有效,我已将问题缩小到If语句。在下面的代码中,showBook是一个TextView,tvString是保存showBook值的字符串。 bgview是布局ID。
String tvString = showBook.getText().toString();
bookDisp.setText(tvString);
View mainbg = bgview.getRootView();
if(bookDisp.equals("John")){
mainbg.setBackgroundResource(R.drawable.dbvjohn);
问题在于行
if(bookDisp.equals("John")){
它不想将bookDisp与字符串“John”进行比较。但是,如果我比较两个文本视图,例如
,它将会起作用if(bookDisp.equals(newTextView)){
所以我认为问题是.equals位。我会用什么代码来比较bookDisp和“John”?它不是if(bookDisp = ("John")){
,因为Eclipse希望我将bookDisp更改为字符串。那么将textview bookDisp与字符串“John”进行比较的正确代码是什么?
别介意人!我想通了,错误根本不在这个方法中,而在另一种方法中。我在该方法中有+ cursor.getString(1) + " ";
,因此textviews中的字符串显示为“John”,上面的“if”语句正在查找“John”。
答案 0 :(得分:12)
使用此:
if ("John".equals(bookDisp.getText().toString())) {
答案 1 :(得分:2)
您可能想要使用:
bookDisp.getText().toString().equals("John");
答案 2 :(得分:0)
最好比较下面的字符串::
tvString.equals( “约翰”);
答案 3 :(得分:0)
您需要从TextView获取文本,以查看它是否等于“John”。 做: bookDisp.getText()。等于( “约翰”)
那应该有用。 TextViews的getText返回一个可编辑的。继承课程,以便您可以使用它: Editable Class