我是java新手,我遇到了一个对我来说没有意义的问题。 我有一个启动 Activity 的 ListView ,并且该 Activity 必须读取 一些 Intent 值以便显示正确的信息。
// getting intent data
Intent in = getIntent();
// Get name
final String catName = in.getStringExtra("category").toString();
//Textview
TextView categorytw= (TextView)findViewById(R.id.category_name);
categorytw.setText(catName);
// Category URL
String catUrl = "";
if( catName =="Italy" ){
catUrl = "http://url .com/italy.php";
}
else if( catName =="Belgium"){
catUrl = "http://url .com/italy.php";
}
else if( catName =="France"){
catUrl = "http://url .com/france.php";
}
如您所见,我获取了 Intent 值“category”并将其分配给 catName 变量,然后更新标题 TextView categorytw
到目前为止一切都很好,categorytw 根据 catName 的值进行更新。
现在我需要根据类别名称获取特定的网址,这就是为什么 我初始化catUrl,它一开始是空的。 根据 catName 的值,catUrl 将具有不同的值。
当我从 url (catUrl) 获取一些数据时,稍后会使用此值/url:
try{
XMLParser parser = new XMLParser();
String xml = parser.getXmlFromUrl(catUrl );
}
问题是 catUrl
始终为空。
我仔细检查了 catName 值。
有人知道这里可能出了什么问题吗?
最佳答案
Java 中的
==
通过引用(即指向内存中相同位置的变量)而不是值来比较字符串。使用 catName.equals("Italy")
按值进行比较。
关于java 用 if else 更新字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22355523/