Как создать метод для начала деятельности? - PullRequest
0 голосов
/ 02 октября 2018

У меня есть переключатель, который запускает различные действия в зависимости от выбора пользователя.Я не хочу повторять код для создания намерения, как это:

switch(choice) {
    case "option1":
        Intent intent = new Intent(context, MyActivity1.class);
    case "option2":
        Intent intent = new Intent(context, MyActivit2.class);
}

Я хочу создать функцию, где я могу передать контекст и свою деятельность, как:

private void startMyActivity(Context ctx, Type what_do_I_pass_here) {
    Intent intent = new Intent(context, Type.class);
    startActivity(intent);
}

Я пытался

private void startMyActivity(Context ctx,Class<Activity> cls)

, но он не работает

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

Вы должны определить функцию следующим образом

public void startActivity(Context ctx, Class<?> activityClass) {
    Intent intent = new Intent(ctx, activityClass);
    startActivity(intent);
}

, и вы можете вызывать ее следующим образом

startActivity(this, MainActivity.class);
0 голосов
/ 02 октября 2018

Попробуйте этот код:

public void startSpecificActivity(Class<?> otherActivityClass) {
    Intent intent = new Intent(getApplicationContext(), otherActivityClass);
    startActivity(intent);
}

Использование:

startSpecificActivity(MyActivity1.class);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...