Android startActivity() および startActivityForResult() の使用経験

最終的な効果:

1. リスト アクティビティ -> 詳細アクティビティ -> アクティビティの編集3. データを編集した後、詳細インターフェイスに戻り、データを更新します。詳細インターフェイスはリスト インターフェイスに戻り、データを更新します。
2. 「アクティビティのリスト」→「アクティビティの詳細」→「アクティビティの編集」3. データを編集した後、リストに直接戻ってデータを更新します。

具体的な手順:

効果を達成するための最初の方法:
  public static void startAction(Activity context, String id) {
        Intent intent = new Intent(列表Activity, 详情Activity);
        context.startActivityForResult(intent,10000);
    }
  public static void startAction(Activity context, String id) {
        Intent intent = new Intent(详情Activity, 编辑Activity);
        context.startActivityForResult(intent,10000);
    }

編集アクティビティはデータを完成させ、詳細を返します

Intent intent = new Intent();
setResult(Activity.RESULT_OK, intent);
finish();

詳細アクティビティはデータを更新します

  @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK) {
             if(requestCode == 10000){
                //再次调用接口请求数据
            }
        }
    }

詳細 アクティビティはリスト インターフェイスに戻り、データを更新します

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode != RESULT_OK) {
           //再次调用接口请求数据
        }
    }
効果を達成する 2 番目の方法:
  public static void startAction(Activity context, String id) {
        Intent intent = new Intent(列表Activity, 详情Activity);
        context.startActivityForResult(intent,10000);
    }
  public static void startAction(Activity context, String id) {
        Intent intent = new Intent(详情Activity, 编辑Activity);
        context.startActivityForResult(intent,10000);
    }

詳細アクティビティは編集アクティビティにジャンプします

  public static void startAction(Activity context, String id) {
        Intent intent = new Intent(详情Activity, 编辑Activity);
        context.startActivityForResult(intent,10000);
    }
    finish();//跳转时直接关闭详情Activity

アクティビティの編集: データを編集した後、リストのアクティビティに直接戻ります。

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode != RESULT_OK) {
           //再次调用接口请求数据
        }
    }

述べる:


プログラミング初心者の意見です、他の人に誤解を与えないように、間違いがあればご指摘・修正をお願いします。

この記事の効果は個人的にテストされています。この記事は自分へのメモとして書いているだけです。スプレーしないでください、スプレーしないでください、スプレーしないでください。


おすすめ

転載: blog.csdn.net/u010689434/article/details/111993500