我有一个开关盒,可以根据用户的选择启动不同的活动。我不想继续重复创建这样的意图的代码:
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)
但是它不起作用
答案 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);