Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.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,基本上,我想从活动打开一个片段。一切正常(活动按钮打开片段,片段显示),直到我错过了在片段的布局之外的单击,其中一个活动按钮位于该布局,它执行了它的onClick方法。这就是为什么我想知道为什么我的活动仍然处于活动状态 这就是我如何从活动 我尝试使用.add而不是。replace仍然一样 @OnClick(R.id.login_register_lbl) public void registerAction(View view) { // TODO register transition

基本上,我想从
活动
打开一个
片段
。一切正常(活动按钮打开片段,片段显示),直到我错过了在
片段的
布局之外的单击,其中一个
活动
按钮位于该布局,它执行了它的
onClick
方法。这就是为什么我想知道为什么我的
活动仍然处于活动状态

这就是我如何从
活动

我尝试使用
.add
而不是
。replace
仍然一样

@OnClick(R.id.login_register_lbl)
public void registerAction(View view) {
    // TODO register transition...

    FragmentManager fragmentManager = (LoginActivity.this.getFragmentManager());
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    RegisterFragment fragment = new RegisterFragment();
    fragmentTransaction.replace(R.id.fragment_register_holder, fragment);
    fragmentTransaction.commit();
}

在根元素集“background”的片段布局中,“clickable=true”&Focusable=“true”。

我认为您可以通过两种方式实现此功能:

  • 以全屏模式打开对话框片段,以避免意外单击“活动”视图

  • 如果您想同时显示片段和活动的视图,则单击活动按钮打开片段,通过
    yourbutton.setenabled(false)禁用它并且当您想要关闭片段时,再次启用该按钮


  • 若您的片段布局并没有覆盖整个活动,那个么若您单击片段外部,那个么活动组件将被单击。你能分享一些有片段和没有片段的活动截图吗?我的片段覆盖整个页面。我的片段覆盖整个页面。在片段xml的父布局上分享截图集android:clickable=“true”和android:focusable=“true”file@HimeshGoswami谢谢你,伙计!和我一样。