在Android中编写“if”语句

时间:2012-04-12 16:25:49

标签: java android

我是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”。

4 个答案:

答案 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