Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
执行if语句时的Java.lang.NullPointerException_Java_Android - Fatal编程技术网

执行if语句时的Java.lang.NullPointerException

执行if语句时的Java.lang.NullPointerException,java,android,Java,Android,我试图使用if语句来HashMap,但当我试图在设备上运行它时,它崩溃了 这是我的密码 ImageView promoIcon = (ImageView) findViewById(R.id.icon_promo); DatabaseHandler db = new DatabaseHandler(this); List <AllItem> allItems = new ArrayList<AllItem>(); allItems =

我试图使用if语句来
HashMap
,但当我试图在设备上运行它时,它崩溃了

这是我的密码

    ImageView promoIcon = (ImageView) findViewById(R.id.icon_promo);

    DatabaseHandler db = new DatabaseHandler(this);

    List <AllItem> allItems = new ArrayList<AllItem>();

    allItems = db.getAllAccommodations();

    for(AllItem cn : allItems) {    

        String promotion = cn.getPromotion();
        if (promotion.equals("1"))
        {
            promoIcon.setVisibility(View.VISIBLE);
        }

        HashMap<String, String> all_Items = new HashMap<String, String>();

        all_Items.put(TAG_PROMOTION,promotion);

        accommodationlist.add(all_Items);


    }

我真的不知道为什么会出错。有人能帮我修一下吗?

根据您对问题的评论,下面的一行返回
null

 ImageView promoIcon = (ImageView) findViewById(R.id.icon_promo);
这意味着
findViewById
没有找到您要查找的视图,因此尝试访问此行中的对象

 promoIcon.setVisibility(View.VISIBLE);

失败,因为
promoIcon==null
,并且您不能在
null
上调用任何方法。这正是异常消息所说的:您试图使用的一个对象变量没有初始化。你的工作是通过调试找出哪个:-)

在住宿类的296行上有什么?它停在哪一行?你正在使用的对象之一是
null
。您是否调试以查看错误发生的位置?若否,原因为何?您引用的哪一行是第296行?在IDE中快速旋转,打开行号并在第296行添加断点,将对此进行排序。第296行是此代码
promoIcon.setVisibility(View.VISIBLE)
 promoIcon.setVisibility(View.VISIBLE);