I have some Fragments with EditTexts. When I write text in EditText on the first fragment I open next fragment. How can I hide the keyboard?
I am doing this:
public static void hideSoftKeyboard(Activity activity) {
InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0);
}
but if i return on first fragment and again open next fragment focus lose. and i have error.
I found
EditText myEditText = (EditText) findViewById(R.id.myEditText);
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
But I have many fields on the fragment and many fragments with fields. I don't want duplicate code.
My error is:
java.lang.NullPointerException
at com.skip.client.customer.utils.Utils.hideSoftKeyboard(Utils.java:13)
at com.skip.client.customer.fragments.auth_fragments.SignUpChooseTypeAuthFragment$EventHandler.onValidationSucceeded(SignUpChooseTypeAuthFragment.java:102)
at com.mobsandgeeks.saripaar.Validator.triggerValidationListenerCallback(Validator.java:673)
at com.mobsandgeeks.saripaar.Validator.validateFieldsWithCallbackTill(Validator.java:651)
at com.mobsandgeeks.saripaar.Validator.validateUnorderedFieldsWithCallbackTill(Validator.java:633)
at com.mobsandgeeks.saripaar.Validator.validate(Validator.java:313)
at com.mobsandgeeks.saripaar.Validator.validate(Validator.java:274)
at com.skip.client.customer.fragments.auth_fragments.SignUpChooseTypeAuthFragment$EventHandler.onClick(SignUpChooseTypeAuthFragment.java:89)
at android.view.View.performClick(View.java:4637)
at android.view.View$PerformClick.run(View.java:19422)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5586)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
at dalvik.system.NativeStart.main(Native Method)