Java 在片段中添加布局会导致NullPointerException
我在Android应用程序中遇到了一个问题。当我尝试在我的片段中为我的ListView添加视图时,应用程序崩溃。这是我的日志: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
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和谷歌一段时间了,我开始感到沮丧。任何关于这个问题的帮助都将不胜感激。这里有很多错误
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);
}