我在我的第一个帐单上买了一个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>发布于 2013-03-23 20:34:34
我想出了如何处理它,并尝试了它,它是有效的。
因为我要访问第二个活动,而且肯定会发生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);
}发布于 2013-03-23 17:53:46
最佳解决方案是:(在Manifest文件中)
<activity android:name=".MainActivity"
android:windowSoftInputMode="stateHidden" />发布于 2013-03-23 18:57:54
我使用这个,它总是有效的:
<activity
android:name="MyProfileActivity"
android:windowSoftInputMode="stateHidden|adjustPan" />https://stackoverflow.com/questions/15585380
复制相似问题