在视图寻呼机内按下后退按钮后更新上一个片段

时间:2015-04-14 22:22:31

标签: android android-fragments

想象一下,我有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()。我做错了什么?

1 个答案:

答案 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);
    }
}