我有三项活动。让我们说一下activity1,activity2和activity3。我在activity2上有一个按钮,点击该按钮我想将一些数据发送到activity1并转到activity3。 我使用:
成功地将数据从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转到3button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent A2_A3 = new Intent(getApplicationContext(),activity3.class);
startActivity(A2_A3);
}
});
在同一个按钮监听器上,我想要这两个任务。如何实现这个?
答案 0 :(得分:0)
您可以使用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);
现在,在活动 2 中,在按钮的监听器中,您将意图的代码设置为RESULT_OK
,您已经完成了该操作。这里不需要提及。
之后,您将进入您的活动 1 onActivityResult()
,请求代码 FETCH_RESULT_FROM_A2 ,您可以拥有数据由活动 2 返回,只需在此处启动活动 3 。