有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    您可以在一个活动中使用多个片段,而不是更改活动,只需替换片段,即使是需要调用它们的片段。 您还可以创建多个视图,并根据意图更改视图,这种方法在静态视图中效果更好