java - 无法在另一个类中实例化 Activity

标签 java android android-activity

我想将 Activity 类放入我的自定义 View 中,如下所示

public class AppLauncher extends LinearLayout
{
    // My custom view

    public class Settings extends Activity
    {
        @Override
        public void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.app_launcher_settings);
        }
    }
}

我开始了这个 Activity

Intent setting = new Intent(mContext, AppLauncher.Settings.class);
mContext.startActivity(setting);

但是我的应用程序因错误而崩溃 java.lang.Class<in.blackant.systemui.widget.AppLauncher$Settings> has no zero argument constructor

最佳答案

I want to put the Activity class inside my custom view like this

这非常奇怪。

but my app crash with error java.lang.Class<in.blackant.systemui.widget.AppLauncher$Settings> has no zero argument constructor

那是因为 Settings 是一个内部类。只有 AppLauncher 可以创建它的实例。因此,框架无法创建它的实例。

如果您确实希望保留当前结构,则需要将 Settings 设为静态:

public static class Settings extends Activity

关于java - 无法在另一个类中实例化 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60590193/

相关文章:

android - 合并 dex 时出错

java - 从 GSON 解析 JSON 中的通用标签

android - Activity 构造函数中的最终字段初始化

java - Activity 每次启动时都会增加 RAM 使用

java - 单击后退时 Android 应用程序未正确关闭

java - 当我将文本从 java servlet 加载到 JTextPane 时,为什么会丢失换行符?

java - 如何将已编译jsp类的行号映射到原始源代码?

java - 尝试使用 Oracle JdbcOdbcDriver 时出现 classNotFoundException

Android - 从 WebView 绘制到 PDF Canvas

java - 安卓 : Could not GET/Find get repos from bintray. com