我正在尝试创建一个if语句,用于检查“-1,0,1,2,3,4和5”的餐馆“评级”。然后我需要用图像替换评级号。我已经尝试过这样做,但应用程序一直在崩溃,应用程序正常工作,没有if语句,并显示10个最近的位置。这是代码:
JSONObject jo = (JSONObject) ja.get(i);
String name = jo.getString("BusinessName");
String rating = jo.getString("RatingValue");
String address1 = jo.getString("AddressLine1");
String address2 = jo.getString("AddressLine2");
String postcode = jo.getString("PostCode");
ImageSwitcher imageView = null;
if(rating.equalsIgnoreCase("-1")){
imageView.setImageResource(R.drawable.rating0);
}else if(rating.equalsIgnoreCase("0")){
imageView.setImageResource(R.drawable.rating0);
}else if(rating.equalsIgnoreCase("1")){
imageView.setImageResource(R.drawable.rating0);
}else{
//default case, if above all conditions will become false then this will call
}
答案 0 :(得分:0)
ImageSwitcher imageView = null;
无效。
使它不为空。
答案 1 :(得分:0)
<强>更新强>
除了以下代码之外,您还需要设置一个视图工厂,以便将图像添加到某些内容中。
ImageSwitcher imageView = new ImageSwitcher(context);
imageView.setFactory(new ViewSwitcher.ViewFactory() {
@Override
public View makeView() {
ImageView view = new ImageView(Location_assignment.this);
return view;
}
});
然后将if语句放在此代码下面。
您的图片切换器为空。您需要先实例化图像切换器,然后才能为其指定图像。
ImageSwitcher imageView = new ImageSwitcher(context);
答案 2 :(得分:0)
你必须检查两件事:
首先需要初始化imageView(因为它为null)。 这就是AS对您的代码所说的内容:
方法调用&#39; imageView.setImageResource(R.drawable.rating0)&#39;可能会产生&#39; java.lang.NullPointerException&#39;
其次,检查变量&#34; rating&#34;是否是一个好主意。不是null,因为它来自JSON。