【发布时间】:2013-01-31 13:59:56
【问题描述】:
我有一个对话框片段,它使用具有相当复杂的视图层次结构的自定义布局。对话框片段的代码或多或少类似于以下内容。
public class CardDetailDialog extends DialogFragment {
public CardDetailDialog() {
setRetainInstance(true);
setStyle(STYLE_NORMAL, android.R.style.Theme_Light);
}
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.card_detail_dialog, container, false);
/* Modify some view objects ... */
return view;
}
}
每当我为此对话框片段调用show() 方法时,我注意到总是调用onCreateView 并且重复布局膨胀过程。在我的应用程序中,用户可能希望在会话期间多次显示对话框,我认为这效率低下。有没有办法在多个show() 调用中保持视图/对话框实例?是否可以使用 DialogFragment 来做到这一点,还是我必须直接处理 Dialog 类?
【问题讨论】:
标签: android android-dialogfragment