java.lang.NullPointerException:布局参数不能为null

时间:2015-04-21 22:07:05

标签: java android android-layout android-fragments android-imageview

我一直在努力在Android上制作自己的自定义ImageView类。我已经阅读了有关布局,片段,活动和ImageView的文档。

我已经看过关于如何以编程方式创建ImageView的Stack帖子,但我遇到了一个障碍,我似乎无法找到解决方案(阅读上面的错误搜索上面的错误不适用于我的问题)。

我有一个活动,在该活动中我有一个片段。在片段中我创建了一个ImageView(它叫做iImage,但它只是一个扩展的ImageView类)。

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState)
    {
        // Inflate the layout for this fragment
        iImage image = new iImage(getActivity());
        image.setImageResource(R.drawable.name_splash);
        LinearLayout.LayoutParams par = new LinearLayout.LayoutParams(1500,1100);
        image.setLayoutParams(par);
        container.addView(image);
        View rootView = inflater.inflate(R.layout.fragment_edit_photo, container, false);
        return rootView;
    }

然而,当我运行应用程序时,它会加载,并且它运行正常,但我收到此错误:

 java.lang.RuntimeException: Unable to start activity ComponentInfo{co.name.app/co.name.app.CameraEditorActivity}: java.lang.NullPointerException: Layout parameters cannot be null
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)

...

 Caused by: java.lang.NullPointerException: Layout parameters cannot be null
        at android.view.View.setLayoutParams(View.java:11470)
        at co.name.app.EditPhotoFragment.onCreateView(EditPhotoFragment.java:89)

你能告诉我们潜在的问题是什么吗?

1 个答案:

答案 0 :(得分:1)

我无法重现您的错误,您的代码适用于我的测试用例。

布局参数错误肯定是指图像?检查R.layout.fragment_edit_photo中的所有组件是否都有布局数据。

如果是这样,潜在的问题可能是片段的父容器布局可能不是LinearLayout。另外,请检查您的SDK是否是最新的。