问题标签 [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.
android - Android Fragment(在 2.3.3 上带有兼容包)创建“指定的子级已经有父级错误”
我正在使用兼容性包在我的 Android 应用程序中使用片段。我已经在运行 2.3.3 和 Google API 2.2 模拟器的 Nexus One 上测试了该应用程序。
通过布局 XML 添加片段时效果很好(使用片段标签)。
将片段动态添加到 FrameLayout 时,它没有成功地将片段添加到容器中,并引发以下错误。
完整的堆栈跟踪如下。
这是我正在使用的布局 - FrameLayout 是我要插入的容器。
我用来实际插入片段的代码如下。
有谁知道出了什么问题?
android - ListFragment 显示数据时的延迟
首先感谢所有让我的 android 开发冒险变得如此轻松的用户。但是,我遇到了一种我找不到解决方案的情况,所以这里是:
我有一个包含各种片段的活动,这些片段旨在相互交互。这些包括:
包含 GridView 的 Fragment 由 Sqlite db 中的一个表中的 SimpleCursorAdapter 填充
/li>由另一个表中的另一个 SimpleCursorAdapter 填充的 ListFragment // 列表功能
/li>当用户从 GridView 中选择某些内容时,Activity 会将该项插入到 ListView 的表中,然后重新初始化它。
/li>
现在解决问题:当我查看日志并记录每个步骤时。整个过程不超过 50-70 毫秒,但从我单击 Grid 到更新 ListView 的时间,我可以计算 2-3 秒。似乎问题在于 ListFragmentsetListAdapter()
以及刷新视图所需的时间。
我已经尝试了各种方法来解决这个问题,例如 1. 使用接口来监听选择或直接从 GridView 片段调用它 2. 使用其中一个newadapter.changecursor(c)
或3 调用 ListFragment 中的辅助函数newadapter.getCursor().requery()
3. 这个的其他变体......
但它似乎总是需要任何帮助。
android - 交换/添加 XML 片段时出错
几天来,我一直在为 Android 3.0 SDK 的 Fragments 概念苦苦挣扎,并想试试 StackOverflow ......
我有一个简单的(概念证明)应用程序:
这是我的主要布局:
我直接在 XML 中显示一个片段(静态片段),这很好用。
使用框架布局,我想在创建时添加一个 XML 片段 (fragment1)。
这是片段1:
这是我的主要活动:
这会导致启动时强制关闭。
这是日志猫:
有谁知道我做错了什么,因为我直接从 developer.android.com 获取了代码
谢谢
android - ExpandableListFragment 与 LoaderManager 兼容包
我想让我的 ExpandableListActivity 与 Honeycomb 兼容。我想知道为什么兼容性包没有 ExpandableListFragment。
有没有办法让 ExpandableListView 与普通的 Fragment 类一起工作?如何使用 LoaderManager 加载游标?
android - Android 全屏视频 - 片段
我有一个由列表视图和片段组成的布局。Listview 列出所有频道,片段用于播放视频频道。到目前为止,一切都很好。所有这些都有效。但问题是我希望视频是全屏的,而不是只占用片段并且仍然在左侧显示列表视图。我不是在寻找代码,但我想要任何关于如何去做的线索。
一种方法是获取当前活动的视图(列表视图和片段)并将其与新片段交换并在其上放置一个表面视图?只是一个猜测,非常感谢任何见解或线索。我会在明天早上之前尝试我的想法,直到那时如果我幸运的话,我会在这里找到一些线索;-)
哦,最后但并非最不重要的是,我使用的是surfaceview而不是videoview
android - 片段动画问题
在 Honeycomb 示例库应用程序中,有一个使用两个片段设置的布局:一个在屏幕左侧显示标题,一个在右侧显示所选内容。标题片段可以用动画隐藏。
在隐藏动画期间,应用程序要求框架重新计算每一帧的布局。这样,内容片段可以占据标题片段离开屏幕时留下的空白空间。这会产生很好的动态效果,但我认为效率非常低。
我有相当复杂的布局,我不想让系统在每一帧上重新布局。但我想要一个像示例中那样的平滑过渡动画。有没有其他解决方案可以解决这个问题?
Ps:为了清楚起见,我不是在问如何做基本的片段交易动画。我知道这些,而且 AFAIK,这些动画无法产生在该示例画廊应用程序中发现的行为(另一个示例是 Honeycomb Gmail 应用程序,它具有我想要实现的类似转换)。
android - ListView 行标记 ala GMail
我有兴趣创建一个 ListView,其中每一行都标记为在 GMail 中为 3.0+ 完成的方式。这创建了左右 ListFragment 的良好分离。
其他示例还包括 2.3.4 上的 Google 日历,例如颜色标记位于 ListView 左侧。
查看两个列表之间的灰色垂直分隔线。一个人如何实现这样的目标?一个奖励也是交替宽度,但我想这只是一个较小的布局变化。
我知道我可能会做一些事情,比如在其中插入一个 ImageView,然后用我想要的颜色填充它,但在我看来,这是一个丑陋的 hack。
另一个问题是,如果有一种通用的方式来组合两个 ListView 片段,就像 GMail 或 Mail 应用程序那样。
android - 在 Android 3.0+ 上使用 `onPrepareOptionsMenu()`
我很好奇在面向 API 11 或更高版本时如何(如果有的话) onPrepareOptionsMenu(Menu)
(以及扩展, )在 Android 3.0+ 上使用。onPreparePanel(int, View, Menu)
我的想法如下:
一个Activity
'sActionBar
接收它的内容onCreateOptionsMenu(Menu)
,您可以在其中扩充 XML 菜单资源、直接添加项目或两者的某种组合。活动的任何片段也将收到此调用并可以选择执行相同操作。
要更新 ActionBar 上的项目,您可以保留Menu
实例或调用invalidateOptionsMenu()
,然后onCreateOptionsMenu(Menu)
再次调用。
因此,是否onPrepareOptionsMenu(Menu)
仍然只支持不针对 API 11 或更新版本的遗留应用程序?
呼叫getActionBar().hide()
并getActionBar().show()
触发呼叫onPrepareOptionsMenu(Menu)
可能吗?
添加或删除片段会以某种方式触发吗?
android - 用于 LVL 和 Fragment 兼容性支持的 Proguard Android 应用程序
我正在尝试对我的应用程序使用 Proguard,该应用程序最终将包含 LVL 和应用内计费。我遇到的问题是 Proguard 在启动时不断使我的应用程序崩溃,并且很难找出失败的原因。
我正在使用 Android V4 支持兼容性库,它似乎正在吹走该库以及其他一些东西。
有没有人有一个 proguard.cfg 可以与初学者的 v4 兼容库的基本版本一起使用?
目前我正在使用不起作用的股票 proguard.cfg。
android - 如何在 Fragments 中使用 XML onClick 处理按钮点击
Pre-Honeycomb (Android 3),每个 Activity 都注册为通过onClick
布局 XML 中的标签处理按钮点击:
在该方法中,您可以使用view.getId()
switch 语句来执行按钮逻辑。
随着 Honeycomb 的引入,我将这些活动分解为可以在许多不同活动中重复使用的片段。按钮的大部分行为是独立于活动的,我希望代码驻留在片段文件中,而不OnClickListener
使用为每个按钮注册的旧(1.6 之前)方法。
问题是,当我的布局膨胀时,它仍然是接收按钮点击的托管活动,而不是单个片段。有没有好的方法
- 注册片段以接收按钮点击?
- 将 Activity 中的点击事件传递给它们所属的 Fragment?