0
服务器上有一些同步过程用于更新数据库,并且我想刷新父对象点击对话框中的活动以取得视图中的同步值。刷新片段关闭对话框片段
我有三个fragments- FragmentA.java
,FragmentB.java
和ragmentC.java
在FragmentA.java
,我有公共接口OnEntrySelectedListener
其具有方法getDialog()
和 其他片段类FragmentB.java
实现了这个接口,并具有定义getDialog()
方法。
FragmentA.java
class FragmentA extends Fragment
{
public interface OnEntrySelectedListener
{
getDialog();
}
}
FragmentB.java
class FragmentB extends FragmentActivity implements FragmentA.OnEntrySelectedListener
{
@Override
public void getDialog(Bundle bundle) {
FragmentC cf = new FragmentC();
cf.setArguments(bundle);
cf.show(getSupportFragmentManager(), "dialog");
}
}
FragmentC.java
class FragmentC extends DialogFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
//some code here
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
view = inflater.inflate(R.layout.shared,container, false);
view.findViewById(R.id.button1).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0)
{
getDialog().dismiss(); //Here after dismiss, I want to refresh FragmentA
}
});
return view;
}
现在我想刷新FragmentA
关闭FragmentC
。
在主要活动中实现此接口后,如何在此主要活动中接到呼叫? – 2013-03-25 15:59:54
我添加的代码应该在dialogfragment中。如果主活动(活动持有片段C)实现了Dismissed接口,则在对话框关闭时,它将在dialogDismissed方法上获得一个调用。 – Heinrisch 2013-03-25 16:07:06
在A中调用一些函数关闭。在活动的dialogDismissed()do fragmentA.refresh() – Heinrisch 2013-03-25 16:50:13