Android ApiDemos示例中FragmentLayout类中的奇怪FragmentTransaction
很抱歉,这个问题是为那些在Eclipse上工作并能够访问ApiDemo示例代码的人准备的Android ApiDemos示例中FragmentLayout类中的奇怪FragmentTransaction,android,android-fragments,sample,fragmenttransaction,Android,Android Fragments,Sample,Fragmenttransaction,很抱歉,这个问题是为那些在Eclipse上工作并能够访问ApiDemo示例代码的人准备的 具体地说,我试图在名为FragmentLayout 以下代码对我来说是有问题的(您可以在ApiDemoFragmentLayout.java,ShowDetails()方法中找到完整的代码): 我有两个问题: index==0和index!=0 资源R.id\u a\u项(仅在搜索后出现在所有Apidemo中)属于某种菜单快捷方式资源,根本不清楚在此处使用它的原因 《android.developers指南
具体地说,我试图在名为FragmentLayout 以下代码对我来说是有问题的(您可以在ApiDemoFragmentLayout.java,ShowDetails()方法中找到完整的代码): 我有两个问题:
index==0
和index!=0
0
和列表的其他位置之间不应该有任何区别,因为代码被设置为简单地用新的细节片段替换先前的细节片段
资源R.id\u a\u项(仅在所有Apidemo中出现,在
搜索)属于某种菜单快捷方式资源,而不是
完全清楚为什么在这里使用它
这很可能是示例中的错误,因为使用该id将引发异常,因为它在当前布局中不存在(我已经运行了在4.2 emulator上找到的
API演示
项目,它会引发该id的“未找到视图”异常…等等)。可能是上一版本的示例中出现了错误,因为您询问的代码在其他版本中不存在。是的,我就是这么想的。但你永远不会知道,根据墨菲定律,如果我没有问起Android,结果会是if(index==0)
stuff挂起应用程序或删除内部RAM:-)
// 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();