Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.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
Java 在活动中创建一个片段_Java_Android_Layout_Android Activity_Fragment - Fatal编程技术网

Java 在活动中创建一个片段

Java 在活动中创建一个片段,java,android,layout,android-activity,fragment,Java,Android,Layout,Android Activity,Fragment,在我的主要活动布局First布局中,我动态设置了文本视图。现在,单击这些文本视图时,我想再次显示另一个布局第二个布局,动态设置文本视图。单击这些文本视图时,我希望将第二个版面的此文本视图的文本设置为单击的第一个版面的文本视图的文本 例如 第一个布局->[单击][单击]->是布局中的两个文本视图。假设我先单击,然后我想显示 [英语][数学][科学]。假设我点击english,然后我想设置屏幕再次显示第一个布局,但替换点击的视图的文本 第一个布局->[英文][点击] 现在问题来了 我已将第一个布局设

在我的主要活动布局First布局中,我动态设置了文本视图。现在,单击这些文本视图时,我想再次显示另一个布局第二个布局,动态设置文本视图。单击这些文本视图时,我希望将第二个版面的此文本视图的文本设置为单击的第一个版面的文本视图的文本

例如

第一个布局->[单击][单击]->是布局中的两个文本视图。假设我先单击,然后我想显示

[英语][数学][科学]。假设我点击english,然后我想设置屏幕再次显示第一个布局,但替换点击的视图的文本

第一个布局->[英文][点击]

现在问题来了 我已将第一个布局设置为主布局。现在我需要知道如何在片段_布局中显示第二个布局,然后返回到主_活动。我想保存main_布局的实例,因为它从main到fragment再回到main

单击第一个布局的文本视图时调用的函数

现在我不明白在第二个布局的view.onclick函数中应该做什么

提前感谢

您可能应该使用FragmentManager和FragmentTransaction。为此,您需要扩展Fragment类。例如,您可能希望生成一个片段来显示每个布局。这些片段将有自己的布局文件,因此您可以自定义它们的外观。您需要提供一个容器来容纳碎片。我使用了一个名为fragment\u container的框架布局。要初始化片段,请使用FragmentTransaction.add方法并使用FragmentTransaction.replace方法在它们之间切换

FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
MyFragment fragment = new MyFragment();
ft.add(R.id.fragment_container, fragment);
ft.commit();

查看API了解更多信息:

您尝试了什么?显示一些代码。这是一个非常基本的问题,网上有大量的资源可以帮助你。可能是@billynomates的重复,先生,我添加了一些代码。这只是从数据库中获取信息。这与你的碎片无关。我建议阅读《片段开发人员指南》或遵循我上面发布的链接。先生,数据库代码与我的问题无关。很抱歉我把它贴了出来。我应该编辑它。我的问题是我不理解如何实现第二个子名称\u click\u listen第二行代码
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
MyFragment fragment = new MyFragment();
ft.add(R.id.fragment_container, fragment);
ft.commit();