如果我试图为扩展 Activity 的类定义默认构造函数,我将强制关闭应用程序执行。为什么会这样?
public class App extends Activity {
App() {
// FORCE CLOSE
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}}
最佳答案
您正在创建 Android 框架不允许的包访问构造函数,
您可以创建一个公共(public)构造函数,即 public App(){}
但至少可以说,这是在 Android 中初始化 Activity 类的不恰当方式。
初始化onCreate()
中的所有需求这是推荐的明智方法。
还要确保您在 AndroidManifest.xml 文件中定义了每个 Activity 。
与 <activity>
标记和定义 android:name
属性最少。
<activity android:name=".SampleAppication"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
您可以在 Acitvity Lifecycle here 上找到更多信息
关于android - 强制关闭尝试使用默认构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4533427/