即使位置和类别参数为,否则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);
}
答案 0 :(得分:0)
尝试 .equals 而不是 == 可能这可以帮到你
答案 1 :(得分:0)
你犯了一个很大的错误!字符串是引用类型,当您使用==比较两个引用类型时,您要比较这两个字符串的内存位置,而不是它们是否具有相同的字符。这是一个错误,很多初学者都会这么做,所以不要担心,你并不孤单。
相反,您应该使用equals
类中的String
方法。那种方法比较了我们都想要的东西 - 角色!
您应该执行以下操作:
if (location.equals("Jaipur") && category.equals("Gardener"))