在Android中编写"if"语句

kir*_*882 -3 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);
Run Code Online (Sandbox Code Playgroud)

问题是这条线

if(bookDisp.equals("John")){
Run Code Online (Sandbox Code Playgroud)

它不想将bookDisp与字符串"John"进行比较.但是,如果我比较两个文本视图,它将会起作用

if(bookDisp.equals(newTextView)){
Run Code Online (Sandbox Code Playgroud)

所以我认为问题是.equals位.我会用什么代码来比较bookDisp和"John"?这不是if(bookDisp = ("John")){因为Eclipse希望我将bookDisp更改为字符串.那么将textview bookDisp与字符串"John"进行比较的正确代码是什么?

别介意人们!我想出来了,错误根本不在这个方法中,而是在另一种方法中.我+ cursor.getString(1) + " ";在那个方法中,所以textviews中的字符串显示为"John",上面的"if"语句正在寻找"John".

JRL*_*JRL 12

用这个:

if ("John".equals(bookDisp.getText().toString())) {
Run Code Online (Sandbox Code Playgroud)