如何创建启动活动的方法?

时间:2018-10-02 12:05:50

标签: java android oop

我有一个开关盒,可以根据用户的选择启动不同的活动。我不想继续重复创建这样的意图的代码:

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 :(得分:1)

尝试以下代码:

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

用法:

startSpecificActivity(MyActivity1.class);

答案 1 :(得分:1)

您必须定义这样的功能

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

您可以这样称呼它

startActivity(this, MainActivity.class);