Joe*_*oey 9 android android-layout android-fragments android-3.0-honeycomb
我正在制作一个与1.6+兼容的蜂窝项目/前叉.
基于Google/Android提供的文档,我决定将我的所有片段构建起来,这些片段DialogFragment非常适合蜂窝...它使我可以灵活地将任何内容作为对话框或"全屏"元素.
我现在已经整合了兼容工具包,并将我的导入和方法调用移到了那里.现在我在2.3我试图发起一个相同的意图,但我收到这个问题:
java.lang.IllegalStateException: DialogFragment can not be attached to a container view
Run Code Online (Sandbox Code Playgroud)
该文档DialogFragment表明它可以Fragment在您不需要对话框/弹出功能时执行.
我设法DialogFragment.java在兼容包中正确修复了这个问题:
改变第74行:
boolean mShowsDialog = false;
评论第232行: //mShowsDialog = mContainerId == 0;
然后将两个show方法更改为:
public void show(FragmentManager manager, String tag) {
this.setShowsDialog(true);
FragmentTransaction ft = manager.beginTransaction();
ft.add(this, tag);
ft.commit();
}
// JavaDoc removed
public int show(FragmentTransaction transaction, String tag) {
this.setShowsDialog(true);
transaction.add(this, tag);
mRemoved = false;
mBackStackId = transaction.commit();
return mBackStackId;
}
Run Code Online (Sandbox Code Playgroud)
基本上,他们确实写了支持,但是在dialog/embedded之间切换的切换不起作用.
所以这里我们默认嵌入,然后设置为在我们显示之前显示为对话框.
| 归档时间: |
|
| 查看次数: |
8141 次 |
| 最近记录: |