问题标签 [android-fragments]

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.

0 投票
1 回答
829 浏览

android - 显示来自 ActionBar.TabListener 的 DialogFragment

是否可以在FragmentDialog中选择选项卡时显示ActionBar

onTabSelected()方法发生在方法执行完成后提交的事务中。但是,show()in 中的方法DialogFragment也会自动发生在事务中,因此如果您尝试在选择选项卡时显示对话框,您会得到 a RuntimeException,因为事务被提交了两次。

任何提示将不胜感激。

0 投票
3 回答
6337 浏览

android - 奇怪的片段生命周期错误

编辑

所以似乎 myFragment被保留在FragmentManager试图重新初始化它的地方。仍然不确定为什么它没有被Activity. 至于加载消息,当 ListView 没有设置适配器时显示。但是,我设置了适配器项目,onCreate所以onResume我不确定为什么会显示这个加载屏幕。仍然对这种行为的任何解释持开放态度

原来的

我正在玩片段,并注意到当我更改屏幕方向时弹出一个奇怪的错误。这个错误不应该发生,因为当屏幕方向改变时,所有数据都在 onCreate 中重新创建。此外,片段onResume()在旋转后被调用两次。这是我创建错误的步骤以及调试器如何触发函数。

  • 活动:onCreate()
  • 活动:onResume()
  • 片段:onResume()
  • 旋转屏幕
  • 活动:onCreate()
  • 活动:onResume()
  • 片段: onResume() (即使 Activity.onResume() 设置了项目,项目也为空)
  • 片段:onResume()(项目不为空,为什么会被调用两次?)

onResume命中最后一个片段后,平板电脑会显示“正在加载...”消息和图标。为什么列表中不再显示数据?我怀疑 onCreate 正在创建第二个片段。由于方向破坏视图,第一个片段丢失了数据,第二个片段获取数据,加载屏幕是第一个没有数据项的片段,第二个片段被隐藏。我可能错了。为什么当屏幕旋转时碎片没有全部销毁Activity?请不要批评代码,除非它可以解决这个特定问题。我实际上并不是在制作应用程序,而是在尝试片段功能。谢谢!

主要活动

列出片段

0 投票
2 回答
6319 浏览

android - 使用兼容性库的 ListFragment 子类上的 ClassCastException

仅在将兼容性库用于 3.0 之前的设备时才会发生这种情况

我收到一个我无法确定的错误。我有一个带有 ListFragment 和标准 Fragment 的 Activity。它就像 Android 开发指南的开发者部分中提供的示例一样。

ListFragment 子类(没有重写函数)

主要活动

MainActivity 的 XML 布局

来自 LogCat 的错误消息

错误/AndroidRuntime:原因:java.lang.ClassCastException:org.example.ItemListFragment 无法转换为 android.app.Fragment

0 投票
2 回答
3767 浏览

android - 是否可以在片段中搜索?

我有一个我们正在移植到 Honeycomb/Android 3.0 的 Android 应用程序,我们Fragment在新界面中使用 s。

我通过小部件进行搜索,如此处所示

Fragment问题是,使用s时,小部件不再弹出。所以问题是如何让搜索与Fragments 一起使用?

或者我怎样才能用Fragments 替换这条线?

0 投票
3 回答
57368 浏览

android - Android:不能用另一个片段替换一个片段

我需要用另一个替换Fragment一个,下面是层文件:ActivityFragmentActivity

所以默认情况下有FragA,现在我想在活动中用FragB替换它,我做了:

但我有例外:

我能做些什么?

谢谢!

0 投票
2 回答
1578 浏览

android - Android Honeycomb,获取片段实例?

我有一个 PreferenceActivity,它通过 xml 文件为标题加载两个片段。

我似乎无法设置标签或 ID。或标头 xml 中片段的标记(使用 loadHeaderFromResource() 加载;

因为我自己没有实例化它,所以我没有 ID。或参考来掌握它。

我该怎么办?

0 投票
1 回答
794 浏览

android - 蜂窝碎片与 AsyncTask

我想为 android 蜂窝创建一个片段。我曾经从 xml(一些标签和两个列表视图)构建 gui,但是我必须从 API 下载数据,所以我需要一个异步任务。我在方法中开始下载过程onActivityCreated。下载运行良好,但列表视图不会更新。

我是如何尝试的:在我使用的异步任务回调中

然后我使用findViewById了列表视图。构建适配器后,我使用了listView.setAdapter()方法。这种方式不适用于平板电脑安卓,我的意思是操作系统 <2.3

有人知道如何刷新片段中的列表视图吗?

PS:在onCreateView我刚刚膨胀的fragment_layout.xml

0 投票
1 回答
1246 浏览

android - EditText 未恢复 DialogFragment 中的状态

我目前有一个 DialogFragment,其中有几个 EditText 小部件作为其视图的一部分。当发生方向更改时,EditText 小部件不会被其中的文本重新填充。

我已经查看了 saveInstanceState 并且尽管方向发生了变化,但文本仍然存在。

对话片段:

一个示例编辑文本:

我正在使用 android 兼容包。

0 投票
1 回答
1168 浏览

android - 片段转换中的 IllegalStateException

我正在尝试使用 FragmentTransition 将新片段添加到空 FrameLayout 并且我不断收到以下异常:

调试时,我注意到 FrameLayout 试图将自己添加为自己的孩子,这似乎导致了这个异常。

这是我尝试将片段添加到的活动的 layout.xml 文件:

这是我尝试执行转换的地方:

我已经为这个问题苦苦挣扎了太久了。有没有人知道这里发生了什么?

0 投票
1 回答
1007 浏览

android - 从片段调用时,DialogFrament 对话框以错误的顺序出现

我正在使用兼容性库将代码移植到 Honeycomb。我的预移植代码的工作方式如下,我有活动 A、B 和对话框 D1 和 D2。B 有一个消息处理程序从其他地方接收消息。

A 调用 B,它在消息 (1) 上通过调用 showDialog 显示 D1。在消息 (2) 上,如果用户尚未关闭 D1,则使用以下代码将其关闭,然后显示 D2:

这工作正常。

对于我移植的代码 A 加载了一个片段 FB(包含消息处理程序),并且 D1 和 D2 现在派生自 DialogFragment。我已经修改了我的代码,以便使用以下命令显示对话框:

上面的检查是通过以下方式执行的:

但是,这不起作用。发生的情况是首先显示 D2,然后在关闭时显示 D1。我假设这是因为在进行上述检查时 D1 不可见,并且 D2 被添加到堆栈的顶部,这就是它首先出现的原因(D2 的 onCreateView 在 D1 之前被调用)。

现在我尝试了各种方法无济于事:

1) 通过获取事务管理器并查看 D1 是否在堆栈上来检查可见性。2) 使用以下命令显示对话框:

或使用替换/删除而不是添加

3) 检查可见性时,请执行以下操作:

现在 3) 做了一些工作,除非它没有,并且因为在某些情况下找不到片段(例如提前解除对话框)而引发了非法状态异常。

关于如何解决这个问题的任何想法,或者我是否真的以完全错误的方式思考这个问题,也许活动应该控制对话框的生命周期?应该提到的是,对于我的蜂窝应用程序之前的活动 B,现在是一个加载 FB 的包装器活动,所以我真的不想在 A 和 B 中复制任何生命周期管理代码。

提前致谢。彼得。