Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.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 如何使用其他片段更改当前片段视图_Android_Android Fragments - Fatal编程技术网

Android 如何使用其他片段更改当前片段视图

Android 如何使用其他片段更改当前片段视图,android,android-fragments,Android,Android Fragments,如何用其他片段更改片段的整个视图 或者如何用另一个片段关闭当前片段,也请用布局进行解释 先谢谢你 getSupportFragmentManager().beginTransaction().replace(R.id.fragmentlayout,new fragment()).commit() 这将帮助您使用id FragmentLayout替换视图中的现有片段,并使用新片段() 谢谢,我希望这会有所帮助。您可以在活动中添加或替换片段。在活动的布局xml文件中创建一个FrameLayout

如何用其他片段更改片段的整个视图

或者如何用另一个片段关闭当前片段,也请用布局进行解释

先谢谢你

getSupportFragmentManager().beginTransaction().replace(R.id.fragmentlayout,new fragment()).commit()
这将帮助您使用id FragmentLayout替换视图中的现有片段,并使用
新片段()


谢谢,我希望这会有所帮助。

您可以在活动中添加或替换片段。在活动的布局
xml
文件中创建一个
FrameLayout

然后在活动中执行此操作以替换片段。每次要用一个片段替换另一个片段时,都可以使用相同的代码

FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.add(R.id.container,YOUR_FRAGMENT_NAME,YOUR_FRAGMENT_STRING_TAG);
transaction.addToBackStack(null);
transaction.commit();
如果要添加片段而不是替换,请执行以下操作:

FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.replace(R.id.container,YOUR_FRAGMENT_NAME,YOUR_FRAGMENT_STRING_TAG);
transaction.addToBackStack(null);
transaction.commit();
当您想用anu其他片段替换添加的片段时,您必须先删除以前的片段(或者您可以隐藏以前的片段;具体取决于您的要求)。请参阅以下代码:

Fragment fragment = getSupportFragmentManager().findFragmentByTag(YOUR_FRAGMENT_STRING_TAG);
if(fragment != null)
    getSupportFragmentManager().beginTransaction().remove(fragment).commit();
请参见以下有关SO的相关问题:

或者看看我对类似问题的回答:


首先,在活动中使用一个框架布局,在其中添加片段

FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.add(R.id.framelayout,fragment_1);
transaction.addToBackStack(null);
transaction.commit();
当您用编写的第二个片段替换第一个片段时,只需将片段_1更改为片段_2

FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.add(R.id.framelayout,fragment_2);
transaction.addToBackStack(null);
transaction.commit();

谷歌it首先,有n个教程。我投票结束这个问题,因为OP甚至没有对谷歌做一个最小的研究。