【发布时间】:2015-05-07 08:19:16
【问题描述】:
我有一些带有 EditTexts 的片段。当我在第一个片段上的 EditText 中编写文本时,我打开下一个片段。如何隐藏键盘?
我正在这样做:
public static void hideSoftKeyboard(Activity activity) {
InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0);
}
但是如果我返回第一个片段并再次打开下一个片段焦点丢失。我有错误。
我找到了
EditText myEditText = (EditText) findViewById(R.id.myEditText);
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
但是我在片段上有很多字段,并且有很多带有字段的片段。我不想重复代码。
我的错误是:
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)
【问题讨论】:
标签: android android-edittext android-keypad