Невозможно создать экземпляр активности внутри другого класса - PullRequest
0 голосов
/ 08 марта 2020

Я хочу поместить класс Activity в свой пользовательский вид, например,

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);
        }
    }
}

, и я начал активность с

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

, но мое приложение cra sh с ошибкой java.lang.Class<in.blackant.systemui.widget.AppLauncher$Settings> has no zero argument constructor

1 Ответ

2 голосов
/ 08 марта 2020

Я хочу поместить класс Activity в свой пользовательский вид следующим образом

Это очень странно.

но мое приложение cra sh с ошибка java.lang.Class<in.blackant.systemui.widget.AppLauncher$Settings> не имеет конструктора с нулевым аргументом

Это потому, что Settings является внутренним классом. Только AppLauncher может создать его экземпляр. В результате этого фреймворк не может создать его экземпляр.

Если вы действительно хотите sh сохранить эту текущую структуру, вам нужно будет сделать Settings stati c:

public static class Settings extends Activity
...