Error: android.view.InflateException: Binary XML file line #26: Error inflating class com.android.camera.CropImageView

房东的猫 提交于 2019-12-08 14:20:04

问题


My application using Image croping and running under some of mobile, however it is giving following error specially while running with Samsung mobile version 4.0 or higher. Complete error log as under.

Code { public class CropOptionAdapter extends ArrayAdapter

    private ArrayList<CropOption> mOptions;
    private LayoutInflater mInflater;

    public CropOptionAdapter(Context context, ArrayList<CropOption> options) {
        super(context, R.layout.crop_selector, options);

        mOptions    = options;

        mInflater   = LayoutInflater.from(context);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup group) {
        if (convertView == null)
            convertView =  mInflater.inflate(R.layout.crop_selector, null);

        CropOption item = mOptions.get(position);

        if (item != null) {
            return convertView;
        }

        return null;

}

06-10 15:03:32.339: E/AndroidRuntime(2035): FATAL EXCEPTION: main
06-10 15:03:32.339: E/AndroidRuntime(2035): android.view.InflateException: Binary XML file         line #26: Error inflating class com.android.camera.CropImageView
06-10 15:03:32.339: E/AndroidRuntime(2035):     at                         android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:691)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:739)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:742)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at com.project.ugvcl.BillingGenerationActivity$CropOptionAdapter.getView(BillingGenerationActivity.java:3361)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.widget.AbsListView.obtainView(AbsListView.java:2452)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.widget.ListView.measureHeightOfChildren(ListView.java:1250)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.widget.ListView.onMeasure(ListView.java:1161)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.View.measure(View.java:12865)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4712)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1385)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:670)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:563)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.View.measure(View.java:12865)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4712)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1385)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:670)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:563)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.View.measure(View.java:12865)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4712)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:293)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.View.measure(View.java:12865)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4712)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:293)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.View.measure(View.java:12865)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4712)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:293)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2242)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.View.measure(View.java:12865)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1240)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2628)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.os.Looper.loop(Looper.java:137)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.app.ActivityThread.main(ActivityThread.java:4517)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at java.lang.reflect.Method.invokeNative(Native Method)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at java.lang.reflect.Method.invoke(Method.java:511)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at dalvik.system.NativeStart.main(Native Method)
06-10 15:03:32.339: E/AndroidRuntime(2035): Caused by: java.lang.ClassNotFoundException: com.android.camera.CropImageView
06-10 15:03:32.339: E/AndroidRuntime(2035):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.LayoutInflater.createView(LayoutInflater.java:552)
06-10 15:03:32.339: E/AndroidRuntime(2035):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
06-10 15:03:32.339: E/AndroidRuntime(2035):     ... 40 more


回答1:


You have com.android.camera.CropImageView in your crop_selector XML layout but such a view class doesn't exist in the platform.

(There's one in the Gallery app but you shouldn't be using it like this. There's no guarantees that manufacturers include particular platform apps. Usually they want to replace them with their own. If your code ever worked, it's just a coincidence.)

If you have added a library that contains an implementation of CropImageView, use the full package name of that library's implementation instead.



来源:https://stackoverflow.com/questions/24137660/error-android-view-inflateexception-binary-xml-file-line-26-error-inflating

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!