问题标签 [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 投票
6 回答
251946 浏览

android - Android 片段和动画

您应该如何实现例如 Honeycomb Gmail 客户端使用的那种滑动?

可以TransactionManager通过添加和删除片段来自动处理这个问题,由于模拟器是幻灯片,所以很难测试这个:)

0 投票
2 回答
12820 浏览

java - 没有视图的片段在配置更改时崩溃

我有一个用户界面,我需要Fragment在横向模式下而不是纵向模式下显示(带有视图)。在纵向模式下,它应该仍然可用,但将显示其结果,ListPopupWindow而不是使用。

我想我可以通过使用<fragment />横向布局的标签来处理这个问题,同时以编程方式创建片段,如果它没有启动(在我们处于纵向的情况下)。

只要您从横向开始,这就可以正常工作,如果您从纵向开始,在以编程方式创建片段的地方,当您旋转模拟器时,当它尝试将片段附加到您的布局时,您的应用程序将崩溃:

java.lang.IllegalStateException:片段没有创建视图。在 android.app.Activity.onCreateView(Activity.java:4095)

的文档Fragment.isInLayout()似乎暗示它应该能够以这种方式处理它:

如果布局通过标签作为活动视图层次结构的一部分包含,则返回 true。当通过标签创建片段时,这将始终是正确的,除非旧片段从以前的状态恢复并且它没有出现在当前状态的布局中。

所以问题是如何正确地做到这一点,或者我是否遗漏了什么?

更新:

似乎isInLayout()目前的行为也不尽如人意。如果您Fragment手动将 a 添加到容器中,它将返回 false。

此外,如果您Fragment手动将 a 添加到容器中,然后将(设备)旋转到不包含该布局的布局,它将崩溃:

原因:java.lang.IllegalArgumentException:在 android.app.FragmentManagerImpl.moveToState(FragmentManager.java:722) 中找不到片段 SearchFragment{4042f868 #2 id=0x7f060011 SearchFragment} 的 id 0x7f060011 的视图

0 投票
2 回答
5446 浏览

android - 不要在 Fragment 中获取 rootLayoutContainer(Android 3.0 预览版)

我目前正在进入 Android 3.0 Preview 的片段 API,并构建了以下最小编码:

我有一个 Activty,它应该嵌入 Fragment(s),目前实现如下:

}

活动的对应布局:

现在,我不明白为什么内部类 InfoFragment 中的 onCreateView() 中的 ViewGroup 容器是空指针,我也不明白,为什么

返回也为空。

感谢您的反馈。

0 投票
2 回答
9949 浏览

android - Android 片段复制

我正在尝试 android Honeycomb 预览中的新类,但我遇到了一个小问题。我正在制作一个棒球得分应用程序,我希望左侧的按钮(操作菜单)切换右侧的“操作窗格”,我已将其设置为片段。

我希望按钮的 onClickListener() 调用片段事务以将其换出。到目前为止它可以工作,除了当应用程序加载时,它会创建默认片段,但是当我点击一个按钮时,它不是替换默认片段,而是在它旁边创建一个全新的片段。

我已经找了几个小时,我看不出我做错了什么......

请记住,我是 java/android/programming 的新手,所以我可能会遗漏一些非常明显的东西。

hc_test.java(主要活动)

主要的.xml

actionFragment.java

0 投票
12 回答
45197 浏览

android - 片段中的 MapView(蜂窝)

现在最终的 SDK 已经与 google apis 一起发布了 - 使用 MapView 创建片段的最佳方法是什么?MapView 需要一个 MapActivity 才能正常工作。

让 Activity 管理 Fragments 从 MapActivity 继承(不好的解决方案,因为它违背了 Fragments 是自包含的想法)并使用基于 xml 的常规布局不起作用。我在 MapActivity.setupMapView() 中得到 NullPointerException:

我的第二个想法是以编程方式创建 MapView 并将关联的活动(通过 getActivity())作为上下文传递给 MapView 构造函数。不工作:

真的应该有像 MapFragment 这样的东西来处理 MapView 需要的后台线程我猜......那么目前的最佳实践是什么?

来自德国的感谢和问候,Valentin

0 投票
8 回答
514560 浏览

android - 如何使用以编程方式创建的内容视图将片段添加到 Activity

我想向以编程方式实现其布局的 Activity 添加一个片段。我查看了 Fragment 文档,但没有很多示例描述我需要什么。这是我尝试编写的代码类型:

...

此代码编译但在开始时崩溃,可能是因为我FragmentTransaction.add()的不正确。这样做的正确方法是什么?

0 投票
6 回答
43876 浏览

android - 旋转时保留 Fragment 对象

我在 Honeycomb 中开发了一个应用程序,我正在使用片段。
这是我的应用

  • 我有一个活动(说 A1),其中有一个片段
  • 最初这个片段持有对象一个片段对象说(F1)
  • 然后根据用户操作,它可能会更改为其他对象 F2、F3 ....

我的问题是什么

当用户旋转设备时,将重新创建活动,并使 F1 作为片段对象,即使在旋转之前它不是 我使用的,但它对我不起作用 我已经通过代码在我的函数中添加了片段,就像这样
What is the way to retain the fragment object while rotating?
setRetainInstance(true);
onCreate

0 投票
6 回答
60704 浏览

android - 如何设置DialogFragment的标题?

这应该是一个简单的任务,但出于某种原因,我可以找到一种方法来设置DialogFragment的标题。(我正在使用onCreateView重载设置对话框内容)。

默认样式为标题留了一个位置,但我在类上找不到任何方法DialogFragment来设置它。

在使用方法设置内容的时候,标题被莫名其妙地设置onCreateDialog了,所以我想知道这是设计使然,还是在使用onCreateView重载时有一个特殊的技巧来设置它。

0 投票
13 回答
166606 浏览

android - 如何在片段之间传递数据

我试图在我的程序中的两个片段之间传递数据。它只是一个存储在列表中的简单字符串。该列表在片段 A 中公开,当用户单击列表项时,我需要它显示在片段 B 中。内容提供者似乎只支持 ID,所以这不起作用。有什么建议么?

0 投票
6 回答
16629 浏览

android - 无法将 Fragments 与 Android 兼容包一起使用

“Fragments for All”中,Android SDK 技术主管 Xavier Ducrohet 表示,谷歌通过 SDK Manager 发布了一个 Android 兼容性包。

我已经安装了它,但是,我现在如何使用它呢?

如何在我的项目中集成 Android 兼容包?