Java 在片段中添加布局会导致NullPointerException

Java 在片段中添加布局会导致NullPointerException,java,android,android-listview,android-fragments,Java,Android,Android Listview,Android Fragments,我在Android应用程序中遇到了一个问题。当我尝试在我的片段中为我的ListView添加视图时,应用程序崩溃。这是我的日志: java.lang.NullPointerException at com.example.foodsaver2.DatabaseFillerFragment$3.onItemClick(DatabaseFillerFragment.java:912) at android.widget.AdapterView.performItemCl

我在Android应用程序中遇到了一个问题。当我尝试在我的片段中为我的ListView添加视图时,应用程序崩溃。这是我的日志:

java.lang.NullPointerException
        at com.example.foodsaver2.DatabaseFillerFragment$3.onItemClick(DatabaseFillerFragment.java:912)
        at android.widget.AdapterView.performItemClick(AdapterView.java:299)
        at android.widget.AbsListView.performItemClick(AbsListView.java:1113)
        at android.widget.AbsListView$PerformClick.run(AbsListView.java:2904)
        at android.widget.AbsListView$3.run(AbsListView.java:3638)
        at android.os.Handler.handleCallback(Handler.java:733)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5017)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
        at dalvik.system.NativeStart.main(Native Method)
这是我的密码:

  LinearLayout customerLayout = (LinearLayout)view.findViewById(R.id.customerLayout);
  if(customerLayout == null){
       //Inflate the Customer Information View
       LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(    Context.LAYOUT_INFLATER_SERVICE );
       LinearLayout leftLayout = (LinearLayout)view.findViewById(R.id.rightLayout);
       View customerInfo = getActivity().getLayoutInflater().inflate(R.layout.foodinfo, leftLayout, false);
       leftLayout.addView(customerInfo); //It crashes on this line!
  }

我已经检查了SO和谷歌一段时间了,我开始感到沮丧。任何关于这个问题的帮助都将不胜感激。

这里有很多错误

  • 你得到了一个LayoutInflater的实例,但从未使用过它
  • 将leftLayout指定给id为R.id.rightLayout的视图
  • 您正在尝试将视图添加到已添加到的视图组中
  • 请尝试以下操作:



    inflate(int,ViewGroup)
    inflate(int,ViewGroup,boolean)
    处理将视图自动添加到父视图组的操作(除非第三个布尔参数设置为false)。
    leftLayout
    可能解析为null,在这种情况下,您应该确保
    view
    包含id
    @id/righlayout
    的视图

    LinearLayout customerLayout = (LinearLayout) view.findViewById(R.id.customerLayout);
    if (customerLayout == null) { 
        LayoutInflater inflater = LayoutInflater.from(getActivity());
        LinearLayout layout = (LinearLayout) view.findViewById(R.id.rightLayout);
        inflater.inflate(R.layout.foodinfo, leftLayout);
    }