【发布时间】:2016-08-25 04:37:28
【问题描述】:
我有一个简单的片段活动。在 onCreate() 方法中,我只是添加了一个片段。代码贴在下面。但是,每次我旋转屏幕时,系统都会再次调用 onCreate(),然后在 super.onCreate() 语句处崩溃;我想这是一个一般的 Android 片段问题。有人可以帮我吗?
public class FragActivity extends FragmentActivity {
@Override
public void onCreate(Bundle savedState){
super.onCreate(savedState);
MyFragment frag = new MyFragment();
getSupportFragmentManager().beginTransaction().replace(android.R.id.content, frag)
.commit();
}
}
堆栈跟踪已附加:
java.lang.RuntimeException:无法启动活动 ComponentInfo{}: android.support.v4.app.Fragment$InstantiationException:无法 实例化片段:确保类名存在、公开且具有 一个公开的空构造函数
【问题讨论】:
-
你的片段有一个公共的空构造函数?
-
很难说没有整个堆栈跟踪。 (这三行只是其中的一部分。)在堆栈跟踪周围发布一个健康的日志块可能是最安全的,以防万一那里有感兴趣的东西。您的 Fragment 的 onCreate 方法是什么样的?
-
你是从布局文件中引用你的 Fragment 子类吗?纵向和横向有不同的布局文件吗?