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