Android 如何清除片段的内容?

Android 如何清除片段的内容?,android,android-layout,android-fragments,Android,Android Layout,Android Fragments,我知道有一些类似的问题,但它们似乎不起作用,因为它们完全删除了视图,而这不是我想要的 我有这个设计,一个双窗格,其中有一个片段和一个片段布局。其中显示了右侧的详细信息。如图所示: 问题是,当我切换选项卡并返回测量选项卡时,右侧的碎片无法自行清理。如图所示: 右侧的信息是在运行时以编程方式添加的,一些线性布局用于标题,另一个线性布局用于详细信息,另一个线性布局用于滚动右侧详细信息时位于末尾的按钮 我尝试使用: ViewGroup vg = (ViewGroup) FindViewById(Reso

我知道有一些类似的问题,但它们似乎不起作用,因为它们完全删除了视图,而这不是我想要的

我有这个设计,一个双窗格,其中有一个片段和一个片段布局。其中显示了右侧的详细信息。如图所示:

问题是,当我切换选项卡并返回测量选项卡时,右侧的碎片无法自行清理。如图所示:

右侧的信息是在运行时以编程方式添加的,一些线性布局用于标题,另一个线性布局用于详细信息,另一个线性布局用于滚动右侧详细信息时位于末尾的按钮

我尝试使用:

ViewGroup vg = (ViewGroup) FindViewById(Resource.Id.data_memory_details).Parent;
vg.RemoveView(FindViewById(Resource.Id.data_memory_details));
以及:

但这不起作用,因为它完全删除了右侧,下次加载左侧窗格时,将填充整个屏幕宽度

另一个小问题是,清洁物品的正确位置在哪里?我应该在pause()上做吗?当我更改选项卡且测量活动进入暂停状态时,我可以在那里进行清理吗?

是否登录-

@Override
public void onDetach() {
    super.onDetach();
   //write  your logic here
}

如果要清除片段中的数据, 转到包含该片段的活动并使用

getIntent().setFlags(Intent.FLAG_ACTIVITY_CLEAR_STACK);

对不起,我是android新手。我不明白你刚才说了什么。我应该在我的主活动课上使用这种方法吗?例如,android是在我离开活动时执行它,还是应该在OnPause内部使用它?如果您正在使用,那么这是一个fragment的重写方法。只需重写此方法并在其中编写代码。但android不应该执行OnDeach吗?因为我不知道该写什么代码。我只是想澄清内容,而不是观点或写一些逻辑。有一个Clear()方法我可以“附加”到我想要的片段?你应该使用onDetach方法来清除你查看的数据。假设你的片段中有一个EditText,而在onCreate()方法中你设置了它的值,如mEditeText.setText(“初始值”)。然后在detach()方法中编写代码,如mEditText.setText(“”);所以,当下次加载片段时,EditText将不包含以前的值。所以基本上,在我的OnDetch上,我应该“手动”清除我的内容?这个OnDetach应该在我的DetailFragment或MasterFragment类上?
getIntent().setFlags(Intent.FLAG_ACTIVITY_CLEAR_STACK);