Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 片段必须是公共静态类,才能从实例状态正确地重新创建_Java_Android_Static_Fragment - Fatal编程技术网

Java 片段必须是公共静态类,才能从实例状态正确地重新创建

Java 片段必须是公共静态类,才能从实例状态正确地重新创建,java,android,static,fragment,Java,Android,Static,Fragment,我试图用一些业务逻辑创建一个片段,但当它启动时,我得到以下错误 片段必须是公共静态类,才能从中正确地重新创建 实例状态 我发现了一些类似的问题,但答案对我的情况没有帮助,因为我没有一个嵌套/无粘滞类,我可以使其成为静态的(或者我遗漏了什么?) 我如何解决这个问题 类概览片段扩展片段{ 专用回收器查看适配器mAdapter; private RecyclerView.LayoutManager LayoutManager; 公众概览片段(){ //必需的空公共构造函数 } @凌驾 创建视图上的公

我试图用一些业务逻辑创建一个片段,但当它启动时,我得到以下错误

片段必须是公共静态类,才能从中正确地重新创建 实例状态

我发现了一些类似的问题,但答案对我的情况没有帮助,因为我没有一个嵌套/无粘滞类,我可以使其成为静态的(或者我遗漏了什么?)

我如何解决这个问题

类概览片段扩展片段{
专用回收器查看适配器mAdapter;
private RecyclerView.LayoutManager LayoutManager;
公众概览片段(){
//必需的空公共构造函数
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//为该碎片膨胀布局
loadRecords();
返回充气机。充气(R.layout.fragment_概述,容器,错误);
}
公共作废图纸类别图表(地图类别){
...
}
公共无效drawUserChart(…){
...
}
公共档案({
列出记录=
AppDatabase.getAppDatabase(getActivity().getApplicationContext()).recordDao().getAll();
...
RecycleView RecycleView=(RecycleView)getView().findViewById(R.id.spendingOverview);
layoutManager=新的LinearLayoutManager(this.getActivity().getApplicationContext());
recyclerView.setLayoutManager(layoutManager);
mAdapter=新记录概览RecycleListAdapter(记录);
recyclerView.setAdapter(mAdapter);
}
//返回所有类别的映射及其所有事务的各自总和
公共地图获取类别(列表记录){
Map catSums=newhashmap();
用于(记录r:记录){
如果(!catSums.containsKey(r.getCategory())){
catSums.put(r.getCategory(),r.getAmount());
}否则{
catSums.put(r.getCategory()、catSums.get(r.getCategory())+r.getAmount());
}
}
返回catSums;
}
}

您的顶级文件在Android框架中不可见,由
碎片管理器管理

class OverviewFragment extends Fragment
你需要公开你的课程。不包默认值,因为您现在有它。接下来应该定义您的片段

public class OverviewFragment extends Fragment

您的
OverviewFragment
是另一个对象的内部类吗?我在使用它的地方添加了适配器,否则它不会在其他任何地方使用。什么文件包含
class OverviewFragment扩展片段{…}
?它是顶级class@NicoM(是的,这种情况经常发生)
public class OverviewFragment extends Fragment