想象一下,我有Activity
Fragment
,其中包含联系人列表和创建新联系人的按钮。
当我按下该按钮时,会放置第二个Fragment
(.addToBackStack(null)
和replace()
),其中包含两个用于创建联系人的字段和一个用于保存它的按钮。
我创建一个新联系人,然后按后退按钮。
修改
更具体一点,我的项目结构如下:
MainActivity
|
|
ContainerFragment
|
|
|_ _ _ Tab A
| |_ _ _ Fragment 1
| |
| |_ _ _ Fragment 2
| |
| |_ _ _ Fragment 3
| |
| |_ _ _ ...
|
|_ _ _ Tab B
| |_ _ _ Fragment 4
| |
| |_ _ _ Fragment 5
| |
| |_ _ _ Fragment 6
| |
| |_ _ _ ...
|
|_ _ _ Tab C
| |_ _ _ Fragment 7
| |
| |_ _ _ Fragment 8
| |
| |_ _ _ Fragment 9
| |
| |_ _ _ ...
我的问题是,Fragment 2
能够更改Fragment 1
中显示的内容,更改后我返回按钮,Fragment 2
消失,但Fragment 1
上没有任何内容被调用1}}。没有onResume()
或onCreateView()
。我做错了什么?
答案 0 :(得分:0)
您可以通过联系人片段调用
联系人片段:
startActivityForResult(intent, ADD_TODO_ITEM_REQUEST);
在AddContactFragment中
...
Button submitButton = (Button) findViewById(R.id.submitButton);
submitButton.setOnClickListener(new OnClickListener() {
//manipulations with you data
// Package Contact data into an Intent
Intent data = new Intent();
ToDoItem.packageIntent(contactName, contactNumber...);
setResult(Activity.RESULT_OK, data);
finish();
}
在我们的联系人片段中:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK && requestCode == ADD_TODO_ITEM_REQUEST) {
Contact contact = new Contact(data);
mAdapter.add(contact);
}
}