我的第一个标签上有一个EditText。当然,当我触摸EditText时出现软键盘。但是当我访问第二个选项卡时,它意味着第二个选项卡活动,软键盘保持显示在我的第一个选项卡上,即使我的第二个选项卡活动中没有EditText,也不会消失。
我希望在访问第二个标签时阻止软键盘出现。
我该如何解决这个问题?
这是我的清单文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.androidaccountbook"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="16" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name="com.example.androidaccountbook.AccountTabActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden">
<!-- screenOrientation prevent from rotation -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.example.androidaccountbook.accountMainThread"
android:windowSoftInputMode="stateHidden" />
<!-- activity for intent -->
<activity android:name="com.example.androidaccountbook.TodayExpenseList"
android:windowSoftInputMode="stateHidden" />
<activity android:name="com.example.androidaccountbook.settingThread"
android:windowSoftInputMode="stateHidden"/>
<activity android:name="com.example.androidaccountbook.FailedConnectDatabase"
android:windowSoftInputMode="stateHidden"/>
</application>
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
答案 0 :(得分:1)
我想到了如何使用它并且我尝试了它,它有效。
因为我想访问第二个活动,并且肯定会发生生命活动onPause方法。所以,我在onPause方法上写了下面的hideKeyboard方法。
这就是onPause方法的样子
@Override
protected void onPause(){
super.onPause();
hideKeyboard(this,editText);
}
这是我的hideKeyboard方法,如
public void hideKeyboard(Context context, EditText text){
InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(text.getWindowToken(), InputMethodManager.RESULT_UNCHANGED_SHOWN);
}
答案 1 :(得分:0)
最佳解决方案是:(在清单文件中)
<activity android:name=".MainActivity"
android:windowSoftInputMode="stateHidden" />
答案 2 :(得分:0)
我使用它并且它始终有效:
<activity
android:name="MyProfileActivity"
android:windowSoftInputMode="stateHidden|adjustPan" />