java如何处理可以基于传入的额外活动启动的不同活动?
我有一个Activity1,在这个activity中我有一个按钮,当按下它时,它会根据传递给Activity1的特定类型转到ActivityA、ActivityB或ActivityC
我目前有一个switch语句来处理这个问题,但问题是当我想添加ActivityD和ActivityE时,我必须再次更改代码,switch语句将继续增长
有什么更好的方法可以做到这一点
private int type;
public void onCreate() {
// ...
type = getIntent().getIntExtra("type", 0);
}
@Override
public void onClick(View view) {
Intent intent;
switch (type) {
case 0:
intent = ActivityA.newIntent(this);
break;
case 1:
intent = ActivityB.newIntent(this, 1);
break;
case 2:
intent = ActivityC.newIntent(this, "str");
break;
default:
throw new RuntimeException();
}
startActivity(intent);
}
# 1 楼答案
您可以在一个活动中使用多个片段,而不是更改活动,只需替换片段,即使是需要调用它们的片段。 您还可以创建多个视图,并根据意图更改视图,这种方法在静态视图中效果更好