Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.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
尝试调用接口方法';java.util.Iterator java.util.List.Iterator();关于空对象_Java_Android_Runtime Error - Fatal编程技术网

尝试调用接口方法';java.util.Iterator java.util.List.Iterator();关于空对象

尝试调用接口方法';java.util.Iterator java.util.List.Iterator();关于空对象,java,android,runtime-error,Java,Android,Runtime Error,I/zygote:执行完整代码缓存收集,代码=495KB,数据=334KB 代码缓存收集后,代码=484KB,数据=293KB java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference at com.example.agriflex.ui.fooddetail.Foo

I/zygote:执行完整代码缓存收集,代码=495KB,数据=334KB 代码缓存收集后,代码=484KB,数据=293KB

java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference
    at com.example.agriflex.ui.fooddetail.FoodDetailFragment.displayInfo(FoodDetailFragment.java:236)
    at com.example.agriflex.ui.fooddetail.FoodDetailFragment.lambda$onCreateView$2$FoodDetailFragment(FoodDetailFragment.java:135)
    at com.example.agriflex.ui.fooddetail.-$$Lambda$FoodDetailFragment$qUbisKr6hIzCwm4MXSIKgBZ3EXA.onChanged(Unknown Source:4)
    at androidx.lifecycle.LiveData.considerNotify(LiveData.java:113)
    at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:126)
    at androidx.lifecycle.LiveData$ObserverWrapper.activeStateChanged(LiveData.java:424)
    at androidx.lifecycle.LiveData$LifecycleBoundObserver.onStateChanged(LiveData.java:376)
    at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:361)
    at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.java:300)
    at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:339)
    at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:145)
    at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:131)
    at androidx.fragment.app.Fragment.performStart(Fragment.java:2637)
    at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:915)
    at androidx.fragment.app.FragmentManagerImpl.addAddedFragments(FragmentManagerImpl.java:2100)
    at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1874)
    at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1830)
    at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1727)
    at androidx.fragment.app.FragmentManagerImpl$2.run(FragmentManagerImpl.java:150)
    at android.os.Handler.handleCallback(Handler.java:790)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6494)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

将您的
displayInfo
方法替换为


我刚刚在列表迭代之前添加了空检查。

您的“foodModel”似乎为空:

在显示信息之前,需要检查是否为空:

foodDetailViewModel.getMutableLiveDataFood().observe(this, foodModel -> {
            displayInfo(foodModel);
 });

另外,您需要检查“getMutableLiveDataFood()”方法是否返回空数据

请帮助我解决上述运行时错误Brother在更改上述错误后,我得到了新错误java.lang.NullPointerException:尝试调用虚拟方法'java.lang.Long com.example.agriflex.Model.SizeModel.getPrice()'在com.example.agriflex.ui.fooddetail.FoodDetailFragment.calculateTotalPrice(FoodDetailFragment.java:271)的com.example.agriflex.ui.FoodDetailFragment.displayInfo(FoodDetailFragment.java:264)的空对象引用上在com.example.agriflex.ui.fooddetail.FoodDetailFragment.lambda$onCreateView$2$FoodDetailFragment(FoodDetailFragment.java:136)上,请帮助我解决在我们的循环中“for(SizeModel SizeModel:Common.selectedFood.getSizeModel())”的“SizeModel”为null,只需添加一个“if(SizeModel!=null”)在对无线电按钮执行操作之前的条件我将if(foodModel!=null)更改为if(foodModel==null)我得到了输出,但没有得到无线电按钮名称问题兄弟我无法解决。请帮助我你仍然得到nullpointerexception?@sumithVarmamarries兄弟我仍然得到

    private void displayInfo(FoodModel foodModel) {
        Glide.with(getContext()).load(foodModel.getImage()).into(img_food);
        food_name.setText(new StringBuilder(foodModel.getName()));
        food_description.setText(new StringBuilder(foodModel.getDescription()));
        food_price.setText(new StringBuilder(foodModel.getPrice().toString()));

        if (foodModel.getRatingValue() != null)
            ratingBar.setRating(foodModel.getRatingValue().floatValue());

        ((AppCompatActivity)getActivity())
                .getSupportActionBar()
                .setTitle(Common.selectedFood.getName());

        //Size
        //Add NULL check for your object and your code wont throw the exception
        if(null!=Common.selectedFood && null!=Common.selectedFood.getSizeModel()) {

            for (SizeModel sizeModel : Common.selectedFood.getSizeModel()) {
                RadioButton radioButton = new RadioButton(getContext());
                radioButton.setOnCheckedChangeListener((buttonView, isChecked) -> {
                    if (isChecked)
                        Common.selectedFood.setUserSelectedSize(sizeModel);
                    calculateTotalPrice(); //Update Price
                });

                LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(0,
                        LinearLayout.LayoutParams.MATCH_PARENT,
                        1.0f);
                radioButton.setLayoutParams(params);
                radioButton.setText(sizeModel.getName());
                radioButton.setTag(sizeModel.getPrice());

                rdi_group_size.addView(radioButton);

            }
        }
        if (rdi_group_size.getChildCount() > 0) {
            RadioButton radioButton = (RadioButton) rdi_group_size.getChildAt(0);
            radioButton.setChecked(true);  //Default First Select
        }

        calculateTotalPrice();

    }
foodDetailViewModel.getMutableLiveDataFood().observe(this, foodModel -> {
            displayInfo(foodModel);
 });
foodDetailViewModel.getMutableLiveDataFood().observe(this, foodModel -> {
      if( foodModel != null )
         displayInfo(foodModel);
 });