问题
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;
}
来源:https://stackoverflow.com/questions/25421250/how-to-remove-the-focus-of-the-back-stack-fragment