片段相互重叠......并且上一个片段正在点击

007*_*007 2 android android-fragments android-activity

我创建了一个应用程序,其中有1 个 ACTIVITY8 个 Fragment,其中我将每个Fragment膨胀到 Activity 中。但我的问题是每个片段都相互重叠。我更改了每个片段的背景颜色,但是当我单击上一个片段的空白按钮时,会被单击。

请给我建议一些东西来摆脱这种情况。

Main_Activity.class

public class ActRegistration extends AppCompatActivity {
    FragmentManager fm;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_registration);
        fm = getSupportFragmentManager();
        loadFragment(new FragmentRegLogSkip(), FragmentRegLogSkip.FRAGMENT_KEY);
    }


    public void loadFragment(Fragment fragmentName, String fragmentKey) {
        FragmentTransaction fragmentTransaction = fm.beginTransaction();
        fragmentTransaction.add(R.id.id_registration_layout_frame, fragmentName);
        fragmentTransaction.addToBackStack(fragmentKey);
        fragmentTransaction.commit();
    }
}   
Run Code Online (Sandbox Code Playgroud)

Frag_1.class

public class FragmentRegLogSkip extends Fragment implements View.OnClickListener {
    private Activity activity;
    private Context context;
    public static final String FRAGMENT_KEY = "fragment_reg_log_skip";


    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        context = getContext();
        LanguageChanger.changeLanguage(context);
        View view = inflater.inflate(R.layout.act_registration_screen_login, container, false);
return view;
}
}
Run Code Online (Sandbox Code Playgroud)

小智 7

不要忘记将android:clickable="true"和 添加android:focusable="true"到第二个片段的父视图,以便它捕获点击并且它们不会传播到下面的片段。像这样的东西:

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"
android:focusable="true">   
Run Code Online (Sandbox Code Playgroud)