Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.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 - Fatal编程技术网

Java 完全刷新片段

Java 完全刷新片段,java,android,Java,Android,我有一个片段,我需要完全刷新/重新实例化它。 我所说的“刷新”是指重新创建片段。 我曾尝试将FragmentManager与detach()方法一起使用,但没有效果。即使片段已刷新,该片段的所有EditText子级仍将输入其值 有没有办法达到这个结果?如果只有编辑文本,请创建一个方法,将所有编辑文本设置为空字符串,即et(编辑文本对象) 将以下代码放入需要刷新的片段中 FragmentTransaction ft = getFragmentManager().beginTransaction()

我有一个片段,我需要完全刷新/重新实例化它。 我所说的“刷新”是指重新创建片段。 我曾尝试将
FragmentManager
detach()
方法一起使用,但没有效果。即使片段已刷新,该片段的所有
EditText
子级仍将输入其值


有没有办法达到这个结果?

如果只有编辑文本,请创建一个方法,将所有编辑文本设置为空字符串,即et(编辑文本对象)


将以下代码放入需要刷新的片段中

FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.detach(this).attach(this).commit();

根据您的代码使用片段管理器(如果它是旧版本,那么这将是supportFragmentManager)

将此方法放入并调用到您的片段中

private void reloadFragment(){
    Fragment frg = getActivity().getSupportFragmentManager().findFragmentByTag(ReceiptFragment.TAG);
    final FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
    ft.detach(frg);
    ft.attach(frg);
    ft.commit();
}
可能重复的
private void reloadFragment(){
    Fragment frg = getActivity().getSupportFragmentManager().findFragmentByTag(ReceiptFragment.TAG);
    final FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
    ft.detach(frg);
    ft.attach(frg);
    ft.commit();
}