对不起,这个问题适用于那些在 Eclipse 上工作的人,可以访问 ApiDemo示例代码。
具体来说,我试图在名为 FragmentLayout 的样本上建立一个片段活动
以下代码对我来说有问题(您可以在ApiDemo FragmentLayout.java , ShowDetails()方法中找到完整代码):
// 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();
我有两个问题:
index == 0
和index != 0
之间有什么区别?
资源R.id_a_item(在搜索之后所有ApiDemos中只出现)属于某种菜单快捷方式资源,根本不清楚为什么在这里使用它。
android.developers指南没有解释这段代码。
答案 0 :(得分:4)
index == 0和index!= 0之间的区别是什么?
位置0
与列表的其他位置之间不应存在任何差异,因为代码设置为简单地用新的替换先前的详细信息片段。
资源R.id_a_item(仅在所有ApiDemos中出现,之后 搜索它)属于某种菜单快捷方式资源,而不是 明确为什么在这里使用它。
很可能这是示例中的错误,因为使用该id将引发异常,因为它在当前布局中不存在(我运行在4.2模拟器上找到的API Demos
项目并且它抛出没有查看异常...等等该id)。可能是最后一个版本的样本中的一个单据,因为在其他版本中不存在您的问题。