如果else结构没有在Android应用程序中设置正确的URL?

时间:2015-08-08 03:36:39

标签: java android

即使位置和类别参数为,否则if else结构未设置正确的URL 我已经使用日志消息检查了它。

private void initView(String location,String category) {
// show progress dialog
dialog = ProgressDialog.show(this, "", "Loading...");
String url;
if(location.toString()=="Jaipur" && category.toString()=="Gardner")
url = "http://192.168.186.1/apps_jaipur_gardner.php";
else if(location.toString()=="Jaipur" && category.toString()=="Mason")
url = "http://192.168.186.1/apps_jaipur_mason.php";
else if(location.toString()=="Jaipur" && category.toString()=="Carpenter")
url = "http://192.168.186.1/apps_jaipur_carpenter.php";
else if(location.toString()=="Jaipur" && category.toString()=="Plumber")
url = "http://192.168.186.1/apps_jaipur_plumber.php";
else
url = "http://hello.hostei.com/appsonline.php";
Log.d(TAG,location);
Log.d(TAG,category);
Log.d(TAG,url);
FetchDataTask task = new FetchDataTask(this);
task.execute(url);
}

2 个答案:

答案 0 :(得分:0)

尝试 .equals 而不是 == 可能这可以帮到你

答案 1 :(得分:0)

你犯了一个很大的错误!字符串是引用类型,当您使用==比较两个引用类型时,您要比较这两个字符串的内存位置,而不是它们是否具有相同的字符。这是一个错误,很多初学者都会这么做,所以不要担心,你并不孤单。

相反,您应该使用equals类中的String方法。那种方法比较了我们都想要的东西 - 角色!

您应该执行以下操作:

if (location.equals("Jaipur") && category.equals("Gardener"))