android– 无法实例化片段 –java.lang.RuntimeException

android– 无法实例化片段 –java.lang.RuntimeException,第1张

概述Hy家伙,我从我的开发者控制台获得了这个堆栈跟踪.好吧,我不确定导致这次崩溃的原因.因为我在测试我的应用程序时从来没有得到这个错误,只是从谷歌播放的开发者控制台得到它.java.lang.RuntimeException:UnabletostartactivityComponentInfo{package.name/package.name.activ

Hy家伙,我从我的开发者控制台获得了这个堆栈跟踪.好吧,我不确定导致这次崩溃的原因.因为我在测试我的应用程序时从来没有得到这个错误,只是从谷歌播放的开发者控制台得到它.

java.lang.RuntimeException: Unable to start activity ComponentInfo{package.name/package.name.activity.someActivity}: androID.support.v4.app.Fragment$InstantiationException: Unable to instantiate fragment package.name.photoprevIEw.PhotothumbnailFragmentAdapter: make sure class name exists, is public, and has an empty constructor that is publicat androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:2110)at androID.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)at androID.app.ActivityThread.access0(ActivityThread.java:140)at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)at androID.os.Handler.dispatchMessage(Handler.java:99)at androID.os.Looper.loop(Looper.java:137)at androID.app.ActivityThread.main(ActivityThread.java:4921)at java.lang.reflect.Method.invokeNative(Native Method)at java.lang.reflect.Method.invoke(Method.java:511)at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:805)at dalvik.system.NativeStart.main(Native Method)Caused by: androID.support.v4.app.Fragment$InstantiationException: Unable to instantiate fragment streetdirectory.mobile.modules.photoprevIEw.PhotothumbnailFragmentAdapter: make sure class name exists, is public, and has an empty constructor that is publicat androID.support.v4.app.Fragment.instantiate(Fragment.java:399)at androID.support.v4.app.FragmentState.instantiate(Fragment.java:97)at androID.support.v4.app.FragmentManagerImpl.restoreAllState(FragmentManager.java:1760)at androID.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:200)at streetdirectory.mobile.modules.businessdetail.BusinessDetailActivity.onCreate(BusinessDetailActivity.java:134)at androID.app.Activity.performCreate(Activity.java:5188)at androID.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:2074)... 11 moreCaused by: java.lang.InstantiationException: can't instantiate class streetdirectory.mobile.modules.photoprevIEw.PhotothumbnailFragmentAdapter; no empty constructorat java.lang.class.newInstanceImpl(Native Method)at java.lang.class.newInstance(Class.java:1319)at androID.support.v4.app.Fragment.instantiate(Fragment.java:388)... 18 more

有人可以帮我分析一下这个问题吗?并给我一些有用的建议.
感谢和问候 ..

编辑

这是PhotoprevIEwFragmentAdapter代码.

public class PhotoprevIEwFragmentAdapter<T extends ImageListServiceOutput> extends FragmentPagerAdapter {    private ArrayList<T> mData = new ArrayList<T>();    public PhotoprevIEwFragmentAdapter(FragmentManager fm) {        super(fm);    }    public voID setData(ArrayList<T> data) {        mData = data;    }    @Suppresslint("ValIDFragment")    @OverrIDe    public Fragment getItem(final int position) {        PhotoprevIEwFragment vIEw = new PhotoprevIEwFragment() {            @OverrIDe            public ImageListServiceOutput getData() {                if (position < mData.size()) {                    return mData.get(position);                }                return null;            }        };        return vIEw;    }    @OverrIDe    public int getCount() {        // Todo Add Photo button        //return mData.size()+1;        return mData.size();    }}

给出一些关于如何重现这次崩溃的线索可能会对我有所帮助.谢谢

编辑

可能是问题是(就像Streets Of Boston所说的)PhotoTumbnailFragmentAdapter中的匿名内部类,我在这个方法中使用它

public Fragment getItem(final int position) {        PhotothumbnailFragment vIEw = new PhotothumbnailFragment() {            @OverrIDe            public ImageListServiceOutput getData() {                if (position < mData.size()) {                    return mData.get(position);                }                return null;            }            public voID onPhotoClicked(ImageListServiceOutput data) {                if (mImageClickedListener != null) {                    if (data != null) {                        Logger.info("Photo Clicked");                        mImageClickedListener.onImageClicked(data, position);                    } else {                        Logger.info("Add Photo Clicked");                        mImageClickedListener.onAddImageClicked(position);                    }                }            }        };        return vIEw;    }

PhotothumbnailFragment是一个独立的班级顺便说一句.

解决方法:

看起来您没有为PhotothumbnailFragmentAdapter定义空构造函数.
片段应该有一个空的构造函数

public PhotothumbnailFragmentAdapter(){//empty constructor}
总结

以上是内存溢出为你收集整理的android – 无法实例化片段 – java.lang.RuntimeException全部内容,希望文章能够帮你解决android – 无法实例化片段 – java.lang.RuntimeException所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1116404.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存