问题标签 [android-dialogfragment]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android:Activity恢复后DialogFragments的顺序发生变化
在我的活动中,打开了两个 DialogFragment。
Dialog1 然后 Dialog2 在 Dialog1 上方(都可以看到,一个重叠另一个)。
我打开了一些其他活动,当我通过任务管理器返回到我原来的活动时,对话框的顺序发生了变化..即我现在看到 Dialog1 超过了 Dialog2。
当我从 TaskManager 恢复活动时,如何保持 DialogFragments 的顺序?
android - 显示对话框片段
我有一个扩展 android.support.v4.app.DialogFragment 的类 ActivityExitDialogFragment。ActivityExitDialogFragment 中只有 2 个方法,onCreateDialog 和 newInstance 来获取 ActivityExitDialogFragment 的新实例。他们来了:
这是用于显示对话框的方法。它在同一个包中的不同活动中。当用户单击退出按钮时调用它:
每当我单击退出按钮时,我都会在 dialog.show 行收到 IllegalStateException。我之前遇到过这个问题,这是因为我的项目的 libs 文件夹中没有 android-support-v4.jar 文件。我把那个 jar 文件放在 libs 文件夹中,它工作了。我将类的名称从其他名称更改为 ActivityExitDialogFragment 并让 eclipse 更改 java 文件的名称以匹配。从那以后,我又遇到了这个例外。我不知道是否是巧合,我在更改名称后再次遇到异常,或者 eclipse 是否做了其他事情,只是更改了 jar 文件的名称以匹配公共类的名称。我尝试更改 getInstance 方法的访问修饰符,删除并添加 android 支持 jar 文件的新副本,将名称改回旧名称,
java - 在 DialogFragment 中使用 FragmentManager 和 FragmentTransaction
问题的要点是:我正在尝试从 FragmentActivity 启动 DialogFragment。这个 DialogFragment 的视图包含一个 FrameLayout,我想用 Fragment 填充它。基本上,FragmentActivity 启动 DialogFragment,然后 DialogFragment 用 Fragment 填充它的 FrameLayout。我已经在互联网上搜索了教程,并且拼凑了一些(在我看来)应该有用的东西。但是,无论我尝试什么,我都会不断出错。这是我到目前为止所拥有的:
这是我的 FragmentActivity 的布局(文件名为“activity_interact”):
这是我的 DialogFragment 的布局(文件名为“dialog_overview”):
这是我的 Fragment 的布局(文件名为“fragment_stats”):
这是我的 FragmentActivity 的 java 代码:
}
这是我的 DialogFragment 的代码:
}
这是我的片段的代码:
}
最后,这是 logcat 错误:
我可以看到它说我对 Fragment 没有看法,但我有……(或者我有吗?)我在这里迷路了,任何帮助将不胜感激。另外,我是否以正确的方式进行此操作?重用 FragmentManager 会更有效吗?(即将它从 FragmentActivity 传递到 DialogFragment 中)
更新:我删除了将我的 Fragment 加载到 DialogFragment 的代码,DialogFragment 现在显示没有问题。所以很明显(正如 logcat 错误所暗示的那样)我的 Fragment 本身有问题......但是,它与我在互联网上看到的示例相匹配。这让我想知道:以这种方式嵌套片段是否存在问题?显示 Fragment 的 DialogFragment 的 FragmentActivity 让我想打趣说“我们不能再深入了”,但我不知道。我可以嵌套更多的片段吗?
android - 如何使用 DialogFragment 和 FragmentManager 制作 DatePicker?
所以我已经有一段时间了,我似乎无法弄清楚。我是 Android 开发的新手,所以请多多包涵。我对创建 Datepicker 不太熟悉,我学会了以不推荐的方式来完成它,只是为了掌握它的窍门。使用本教程让我加快速度:
http://developer.android.com/resources/tutorials/views/hello-datepicker.html
但是现在我需要更改它,主要是不使用已弃用的代码,所以我环顾四周,找到了 2 个教程,但主要是这个:
http://www.kylebeal.com/2011/11/android-datepickerdialog-and-the-dialogfragment/
问题是,有些代码没有意义。主要是这部分:
假设是在它运行的活动类中运行的内容。所以我有点了解其余代码中发生的情况,并随意查看其余部分,因为它可能会有所帮助。该代码基本上遵循与原始代码几乎相同的路线showDialog()
。实现DatePickerDialog.onDateSetListener
并返回一个新DatePickerDialog
的,明显的例外是它使用 DialogFragment。但这就是我迷路的地方。
部分原因是因为我不确定新的 DatePickerDialog在哪里 onCreateDialog()
返回。如果你看我说的代码没有意义,两者mDateDetailFragment
都getSupportFragmentManager()
没有实例化或出现在其他任何地方,所以我无法让教程代码工作。Android Doc 还提到,showDialog()
我应该同时使用DialogFragment
and而不是使用FragmentManager
,这里也没有这样做。只有 DialogFragment。
所以就像标题一样,我如何才能以非弃用形式制作 DatPicker?我会要求不要将我发送到链接,只是说看看这里。我已经做到了。相信我。如果不是,至少解释一下我错过了什么才有意义。此外,如果有人能真正告诉我该onCreateDialog()
方法将 发送到哪里DatePickerDialog
,那也将非常有帮助。我只是想弄明白这一切,而不是复制和粘贴代码(无论如何它都不起作用)。非常感谢您抽出时间阅读本文,如果需要任何澄清,请询问。
android - 在 DialogFragment 中,onCreate 应该做什么?
我目前正在使用 DialogFragment 来学习使用它。我假设与 相比onCreateView()
,onCreate()
可以这样做:
但我错了。不知道为什么它不工作。当我注释掉testTextView.setText("Success!");
错误是 NullPointerException 时,错误消失了,然后它只是标记第 39 行,这是有问题的代码行所在的位置。任何澄清都非常感谢。
编辑:
android - 如何将 DialogFragment 正/负按钮保留在软键盘上方
我正在使用 DialogFragment。当用户从 Gmail 平板电脑应用程序的屏幕与下面的示例图片中的编辑文本进行交互时,我希望正面和负面按钮保持在键盘上方。
在我不起作用的尝试中,这是我的 Dialog Fragments onCreateDialog 方法
这是 R.layout.my_layout
在我的实现中,软键盘出现并覆盖了对话框的正面和负面按钮。我缺少什么让按钮保留在键盘上方?
提前致谢。
android - 如何正确关闭 DialogFragment?
文档dismiss()
对类中的方法这么说Dialog
:
关闭此对话框,将其从屏幕上移除。可以从任何线程安全地调用此方法。请注意,当对话框被关闭时,您不应重写此方法进行清理,而应在
onStop()
.
在我的代码中,我所做的就是调用getDialog().dismiss()
将其关闭。但我没有做任何其他事情,甚至没有使用onStop()
. 所以我问到底如何正确解除 aDialogFragment
以避免任何内存泄漏等。
android - v4 支持库是否在可用时使用新类?
我知道v4 支持库可用于在旧的 android 版本中实现在较新版本中引入的东西,例如 Fragments。如果我们实现一个使用v4 支持库来显示Dialog Fragments的应用程序,例如,它在 ICS 上运行时使用最新的代码(即原始和更新的片段)还是仍然使用每个 android 版本的支持代码?
有没有办法在同一个应用程序中同时使用android.app.Fragment
类和android.support.v4.app.Fragment
类,在运行时区分我们是在支持 Fragment 的 android 版本上运行,还是在导入v4 支持库时只需要使用支持类?
也许我错了,但在我看来,在最近的平台上运行时不使用最新代码似乎不是一个好主意..
坚持Dialog Fragment案例,你觉得哪个更好:
1)使用v4支持库,即在所有android版本上使用兼容代码
2)android.app.DialogFragment
在 API 级别 11 或更高级别上运行时使用新的,在 API 级别 < 11 上运行时使用该类的弃用showDialog
和onCreateDialog
方法Activity
正如我已经说过的,最好的恕我直言如下,但是(如果我错了,请纠正我)这不是一个可能的解决方案:
3)android.app.DialogFragment
在 API 级别 11 或以上运行时使用新类,android.support.v4.app.DialogFragment
在 API 级别 < 11 上运行时使用该类
如果我造成了一些混乱,我很抱歉,我希望这个问题很清楚..
android-layout - Android 片段中的 Admob
我无法将 AdMob 放置在 ActionBarSherlock 片段中。由于在 Activity 中,ActionBar 不允许显示 xml 布局,但在片段类中引用了 xml 文件。
我遇到错误?如何将 AdMob 放入片段类。