【问题标题】:Pass data to previous activity and move to next using same button将数据传递给上一个活动并使用相同的按钮移动到下一个活动
【发布时间】:2017-12-18 11:13:16
【问题描述】:

我有三项活动。让我们说活动1、活动2和活动3。我在活动 2 上有一个按钮,单击该按钮我想向活动 1 发送一些数据并转到活动 3。 我已经成功地将数据从 2 传递到 1:

        button1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            Intent updateCounter = new Intent();
            updateCounter.putExtra("counter", Integer.toString(1));
            setResult(RESULT_OK,updateCounter);
            finish();
            }
        });

我可以使用以下方法从活动 2 转到活动 3:

button1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {

        Intent A2_A3 = new Intent(getApplicationContext(),activity3.class);
        startActivity(A2_A3);
    }
});

在同一个按钮监听器上,我想要这两个任务。如何实现?

【问题讨论】:

  • Activity1 中的onActivityResult() 中启动相同的意图A2_A3
  • 成功了!谢谢
  • 哦,好的,很高兴它成功了。正在输入答案,您也可以使用startActivityForResult() 进行此类操作。

标签: android android-intent onclicklistener


【解决方案1】:

您可以使用 startActivityForResult(intent_a1_to_a2, FETCH_RESULT_FROM_A2)1 的结果启动活动 2,如下所示:

Intent intent_a1_to_a2 = new Intent(mContext, Activity_2.class); intent_a1_to_a2.putExtra("key","value"); startActivityForResult(intent_a1_to_a2, FETCH_RESULT_FROM_A2);

现在,在 Activity 2 中,在按钮的侦听器中,您将意图的代码设置为 RESULT_OK,您已经完成了这项工作。此处无需赘述。

之后,您将在您的 Activity1onActivityResult() 中使用请求代码 FETCH_RESULT_FROM_A2,您可以获得 Activity 2 返回的数据 并在此处启动 Activity 3

【讨论】:

    猜你喜欢
    • 2019-06-14
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多