在OnCreate中隐藏软输入

时间:2012-04-20 13:01:59

标签: android xamarin.android

我有一个TableLayout,我在OnCreate的代码中动态添加内容。一旦Activity创建,它就会专注于我动态创建的EditTexts之一并显示键盘。在用户专门按下其中一个EditTexts之前,我不希望键盘显示。我试过了:

InputMethodManager input = (InputMethodManager) GetSystemService(InputMethodService);
input.HideSoftInputFromWindow(CurrentFocus.WindowToken, 0);

但是键盘仍然显示,并且CurrentFocus返回null。因此,当我尝试将焦点专门指向另一个视图,然后执行上述操作时:

InputMethodManager input = (InputMethodManager) GetSystemService(InputMethodService);
title.FindFocus();
input.HideSoftInputFromWindow(CurrentFocus.WindowToken, 0);

CurrentFocus仍为null,键盘仍然显示。 title是一个TextView,我已经在代码中有一个实例。我可以不专注于TextView,还是我还缺少其他东西?

3 个答案:

答案 0 :(得分:25)

    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

答案 1 :(得分:10)

非常容易

  1. 转到AndroidManifest.xml文件
  2. 在您的活动中添加:android:windowSoftInputMode="stateHidden"
  3. 例如:

    <activity
             android:name=".package.example.MyActivity"
                android:windowSoftInputMode="stateHidden"/>
    

答案 2 :(得分:0)

  1. 转到AndroiManifest.xml文件
  2. 您要在其中隐藏键盘的活动中添加以下内容

    android:windowSoftInputMode =“ stateHidden | adjustResize | stateAlwaysHidden”