RuntimeException:无法启动活动ComponentInfo {com.ghCSSoftware.gedstar / com.ghCSSoftware.gedstar.GedStar}:android.support.v4.app.Fragment $InstantiationException:无法实例化片段com.ghCSSoftware.gedstar.PersonTab $PersonTabFrag:make确定类名存在,是公共的,并且具有公共的空构造函数
有问题的类确实存在,我添加了一个空构造函数,结果没有变化.看一些示例代码,我注意到与编写代码的方式有些不同,尽管我没有看到空构造函数:
1)我的片段类是否应该被声明为“静态”,因为有很多样本?
2)我是否需要在片段类中实现“newInstance”的使用?为什么这样做而不是只有一个构造函数?例如,来自其中一个V14样本:
public static class CountingFragment extends Fragment { int mNum; /** * Create a new instance of CountingFragment,provIDing "num" * as an argument. */ static CountingFragment newInstance(int num) { CountingFragment f = new CountingFragment(); // Supply num input as an argument. Bundle args = new Bundle(); args.putInt("num",num); f.setArguments(args); return f; }
我对一些Java概念仍然有些不熟悉,所以可能会遗漏一些基本的东西.
道格戈登
GHCS软件
Is there any reason that my fragment class should be declared “static” as many samples are?
只有它是某种内在的东西.既然你的内容似乎是PersonTab的内部类,那么它将需要是静态的.或者,将它移到PersonTab之外作为独立的java类.
Do I need to implement the use of “newInstance” within my fragment class? Why is this done instead of just having a constructor?
这只是一种工厂方法.框架不要求它.
总结以上是内存溢出为你收集整理的Android Fragment重新实例化错误全部内容,希望文章能够帮你解决Android Fragment重新实例化错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)