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