7

很抱歉,这个问题是针对那些在Eclipse上工作并可以访问ApiDemo 示例代码的人。
具体来说,我正在尝试将片段活动基于名为FragmentLayout的示例

以下代码对我来说是有问题的(您可以在 ApiDemo FragmentLayout.javaShowDetails()方法中找到完整的代码):

                // Execute a transaction, replacing any existing fragment
                // with this one inside the frame.
                FragmentTransaction ft = getFragmentManager().beginTransaction();
                if (index == 0) {
                    ft.replace(R.id.details, details);
                } else {
                    ft.replace(R.id.a_item, details);
                }
                ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
                ft.commit();

我有两个问题:

  1. index == 0和有什么区别index != 0

  2. 资源R.id_a_item(仅在所有ApiDemo中出现,搜索后)属于某种菜单快捷资源,完全不清楚为什么在这里使用它。

android.developers 指南没有解释这段代码。

4

1 回答 1

4

index == 0 和 index != 0 有什么区别?

位置和列表的其他位置之间不应该有任何区别,0因为代码设置为简单地用新的细节片段替换以前的细节片段。

资源R.id_a_item(仅在所有ApiDemo中出现,搜索后)属于某种菜单快捷资源,完全不清楚为什么在这里使用它。

很可能这是示例中的错误,因为使用该 id 会引发异常,因为它在当前布局中不存在(我已经运行了API Demos在 4.2 模拟器上找到的项目,它抛出没有找到视图异常......等该ID)。可能在样本的最后一个版本中出现了错误,因为您质疑的代码段在其他版本中不存在。

于 2013-02-18T17:21:02.203 回答