Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android片段教程';s代码不清楚_Android_Android Fragments - Fatal编程技术网

Android片段教程';s代码不清楚

Android片段教程';s代码不清楚,android,android-fragments,Android,Android Fragments,我正在温习我的知识片段,跟随课程;演示代码中有一条语句听起来不太清楚 FragmentTransaction ft = getFragmentManager().beginTransaction(); if (index == 0) { ft.replace(R.id.details, details); } else { ft.replace(R.id.a_item, details); } 我想我可以理解代码背后的逻辑,但无法找出id=a_item的项在哪里;它似乎没有被宣

我正在温习我的知识片段,跟随课程;演示代码中有一条语句听起来不太清楚

FragmentTransaction ft = getFragmentManager().beginTransaction();
if (index == 0) {
    ft.replace(R.id.details, details);
} else {
    ft.replace(R.id.a_item, details);
}
我想我可以理解代码背后的逻辑,但无法找出id=a_item的项在哪里;它似乎没有被宣布在任何地方,显然演示应用程序不工作

你能帮我更好地理解那段代码吗?提前感谢

  • R.id.details
    指的是一个
    视图组
    ,您想在其中插入一个片段(或替换一个片段)

  • 详细信息
    指应在
    视图组中插入/替换的片段实例

注:

  • 不要忘记调用
    transaction.commit()

  • 这不适用于使用片段标记直接插入XML的片段。您只能替换从Java代码中插入的片段


我无法解释这一点,但我可以给你一个猜测,我认为这意味着什么。一般来说,您有两个xml文件,一个在布局中,一个在布局大文件夹中,它们的名称相同。我的猜测是,索引值以某种方式决定了您在平板电脑模式或手机模式下的位置,并基于此来回复这两个片段。我想象一下,在xml文件的大版本布局中的某个地方声明了a_项片段。Lmk如果我错了?是的ksudu94,你是对的,但是a_item元素没有在代码中的任何地方声明;我猜开发人员忘了在教程中插入布局文件,尽管问题在于_item元素,它似乎并没有在任何地方声明