android开发if语句与图像

时间:2015-04-23 16:08:08

标签: android imageswitcher

我正在尝试创建一个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
}

3 个答案:

答案 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。