我有两项活动 A,B
A 有 A1,A2,A3 片段
我正在 A 活动的对话框中打开 B 活动
所以活动 A ------->打开对话框(活动 B )
例如,B有三个按钮B1,B2和B3
当我点击B1时,对话框将被关闭,A1片段将加载
当我点击B2时,对话框将被关闭,A2片段将加载
当我点击B3时,对话框将被关闭,A3片段将加载
我不知道如何处理这个,我能处理的任何方式请建议我
感谢
答案 0 :(得分:1)
您可以通过调用活动A中的startActivityForResult(Intent, int)
来启动活动B.当在活动B中点击按钮时,您将结果保存在setResult(int resultCode, Intent data)
和finish()
活动B.活动A中现在收到onActivityResult(int requestCode, int resultCode, Intent data)
中按下的按钮的信息。从那里你可以制作你的FragmentTransactions。
答案 1 :(得分:1)
第一种方法是Activity类中的startActivityForResult()方法。在ActivityA中,您可以执行以下操作:
Intent intent = new Intent(this, ActivityB.class);
startActivityForResult(intent, REQUEST_CODE, bundle);
然后在ActivityB的按钮B1的onclicklistener中
b1.setOnClickListener(new OnClickListener(){
....
setResult(RESULT_A1);
finish();
...
});
然后回到ActivityA:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (resultCode == RESULT_A1) {
// Call Fragment manager and replace current fragment with fragment A1
}
}
}
您可以对按钮b2 b3和片段a2 a3
执行类似的操作