Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 写一篇",;如果;Android中的语句_Java_Android - Fatal编程技术网

Java 写一篇",;如果;Android中的语句

Java 写一篇",;如果;Android中的语句,java,android,Java,Android,我不熟悉安卓系统。我正在尝试编写一个包含if语句的方法。我正在尝试实现的是“如果Textview中的文本等于某个值,请更改布局中的背景图像。”我知道设置背景位有效,我已将问题缩小到if语句。在下面的代码中,showBook是一个文本视图,tvString是保存showBook值的字符串。bgview是布局id String tvString = showBook.getText().toString(); bookDisp.setText(tvString);

我不熟悉安卓系统。我正在尝试编写一个包含if语句的方法。我正在尝试实现的是“如果Textview中的文本等于某个值,请更改布局中的背景图像。”我知道设置背景位有效,我已将问题缩小到if语句。在下面的代码中,showBook是一个文本视图,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)){
所以我认为问题在于。等于位。我将使用什么代码来比较bookDisp和“John”?这不是
if(bookDisp=(“John”){
,因为Eclipse希望我将bookDisp更改为字符串。那么,将textview bookDisp与字符串“John”进行比较的正确代码是什么呢


别担心,伙计们!我发现了,错误根本不在这个方法中,而是在另一个方法中。我在那个方法中有
+cursor.getString(1)+;
,所以文本视图中的字符串显示为“John”,上面的“if”语句是在寻找“John”。

您可能想使用:

bookDisp.getText().toString().equals("John");
使用以下命令:

if ("John".equals(bookDisp.getText().toString())) {

比较如下字符串更好:


tvString.equals(“John”);

您需要从文本视图中获取文本,以查看它是否等于“John”。 做: bookDisp.getText().equals(“John”)

这应该行得通。getText for TextView返回一个可编辑的类。下面是可以使用的类:

实际上,没有理由将常数放在这里的左边,因为您不会从函数中得到任何
null
结果。但这仍然是一个很好的做法。:)