关闭活动后如何刷新以前的片段?

时间:2014-10-15 08:28:24

标签: android fragment refresh back recreate

我有一个片段可以抛出一个用户可以插入一些细节的活动。 当用户终止填充数据时,活动关闭。然后显示前一个片段,我希望它更新(用户在活动中提供的数据)。

如果它是一个活动,而不是片段,我可以使用它:

@Override
public void onResume(){
    super.onResume();
    recreate();
}

如何对片段做同样的事情?

2 个答案:

答案 0 :(得分:1)

您将覆盖此Fragment所属的Activity中的onResume,并在此Activity中重新创建(重新启动)此Fragment。例如

public class ActivityA extends Activity {
    @Override
    public void onResume() {
        //  here you can get the Fragment  instance , so you can recreated this fragment      here or invoke this fragment's function to set data or refresh data
    }
}

答案 1 :(得分:0)

您可以在片段中调用startActivityForResult(Intent intent,int requestCode)方法时抛出一个Activity。

你还需要在你的片段中提供onActivityResult(int requestCode,int resultCode,Intent data),数据在Intent参数中。

public class YourFragment extends Fragment {

     public void throwActivity() {
            // start activity
            Intent intent = new Intent();
            intent.setClass(getActivity(), YourActivity.class);
            int requestCode = 1;
            startActivityForResult(intent,requestCode);
        }

        // callback
        @Override
        public void onActivityResult (int requestCode, int resultCode, Intent data) {

            recreate();

        }

        public void recreate() {
            // your refresh code
        }
}
public class YourActivity extends Activity {

    public void yourMethod() {

           int resultCode = 2;
           setResult(resultCode);    // goback to your fragment with your data
        }
}