背景片段上的 Edittext 仍然可编辑
Edittext on background fragment still editable
我在对多个片段使用 EditText 时遇到问题。我有两个片段:FragmentOne 和 FragmentTwo,每个片段都有 EditText。
在 FragmentOne 之上添加 FragmentTwo 之后:
android.support.v4.app.FragmentManager fragmentManager =getActivity().getSupportFragmentManager()
fragmentManager.beginTransaction().add(R.id.frame,new FragmentTwo()).addToBackStack(null).commit;
当我按键盘上的 Enter 键时,光标转到 FragmentOne 上的 EditText。如何解决?类似的问题是当背景片段仍然可以点击时,但我已经解决了。这个问题怎么办?
那是因为你不是hiding/removing上一个片段。在添加新片段之前识别上一个片段并隐藏它。
fragmentManager.beginTransaction().add(R.id.frame,new FragmentTwo()).addToBackStack(null).commit;
这应该是
fragmentManager.beginTransaction().add(R.id.frame,new FragmentTwo()).hide([current fragment]).addToBackStack(null).commit;
如果您为片段命名,则可以通过
找到该片段
fragmentManager.findFragmentByName("fragname");
我也遇到了这个问题。我有一个父片段,我显示和隐藏一个子片段。父片段中有一个 editText,它最终位于子片段的后面。在显示子片段时,我进入了片段布局并将其视图设置为消失,这样就移除了焦点。当然,如果我要隐藏子片段,那么布局将再次可见。
我在对多个片段使用 EditText 时遇到问题。我有两个片段:FragmentOne 和 FragmentTwo,每个片段都有 EditText。 在 FragmentOne 之上添加 FragmentTwo 之后:
android.support.v4.app.FragmentManager fragmentManager =getActivity().getSupportFragmentManager()
fragmentManager.beginTransaction().add(R.id.frame,new FragmentTwo()).addToBackStack(null).commit;
当我按键盘上的 Enter 键时,光标转到 FragmentOne 上的 EditText。如何解决?类似的问题是当背景片段仍然可以点击时,但我已经解决了。这个问题怎么办?
那是因为你不是hiding/removing上一个片段。在添加新片段之前识别上一个片段并隐藏它。
fragmentManager.beginTransaction().add(R.id.frame,new FragmentTwo()).addToBackStack(null).commit;
这应该是
fragmentManager.beginTransaction().add(R.id.frame,new FragmentTwo()).hide([current fragment]).addToBackStack(null).commit;
如果您为片段命名,则可以通过
找到该片段fragmentManager.findFragmentByName("fragname");
我也遇到了这个问题。我有一个父片段,我显示和隐藏一个子片段。父片段中有一个 editText,它最终位于子片段的后面。在显示子片段时,我进入了片段布局并将其视图设置为消失,这样就移除了焦点。当然,如果我要隐藏子片段,那么布局将再次可见。