How to remove the focus of the back stack fragment

2019-04-25 12:30发布

问题:

I am using fragments in my application.I have a fragment that contains EditText and some Dialogfragment.

When i click one particular widget it will move to next fragment. I need the first fragment in the backstack,so i added addToBackStack method also.

The second fragment doesn't contain any EditText. Now the problem is, when we touch or press the second fragment, EditText in the first fragment get the focus and the dialogs are coming.

I got the following code

getView().setFocusableInTouchMode(true);
getView().requestFocus();

I placed this in onResume(). But onResume() will not be called according to some android documents. What I should I do? This is the picture of the second activity that shows the problem

回答1:

Solution to my question is instead of adding the fragment just use replace and one more thing we can avoid that by giving click to the layout also



回答2:

From your question I understood that your Current Fragment doesn't have focus

Try Following

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInnstance) {
    View view = inflater.inflate(R.layout.your_layout, container, false);
    view.setOnClickListener(this);
    return view;
}