android - 强制关闭尝试使用默认构造函数

标签 android

如果我试图为扩展 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/

相关文章:

java - Android 中视频文件的唯一标识符

java - 即使没有为它们指定代码,Android Activity 生命周期方法是否有用?

android - 在 WebViewClient 中启用通用 JavaScript

java - 当我尝试在 android studio 中调试时卡在收集数据中

java - 在 mypackage.R 中找不到 Android gradle src/androidTest/res/layout/mylayout.xml

android - 在 Android Wear 上的 GridViewPager 中滚动

android - BluetoothChat 示例 : NullPointerException

android - RxJava,在链接两个可观察对象之前在观察者线程中执行代码

java - 尝试在 Oreo 设备上创建新的 'Session' 对象时出现 fatal error

android - VideoView 不显示在 fragment 上