2013-07-29 44 views
0

我是Java和Android开发人员的一名成员。无法在应用程序启动时自动打开软键盘

当您启动Google搜索时,软键盘立即出现。

我正在尝试做同样的事情。我搜索了很多,我看到有许多不同的方式获得此,问题是,他们没有似乎工作

requestFocus()方法

在我的活动我试图

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     searchEditText = (EditText) findViewById(R.id.search_edit_text); 
     searchEditText.requestFocus(); 
    }); 

requestFocus的(XML)

在我的XML布局文件

我试图

<EditText 
     android:id="@+id/search_edit_text" 
     android:hint="@string/search" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:inputType="text" 
     android:imeOptions="actionSend" 
     android:singleLine="true"> 
     <requestFocus /> 
    </EditText> 

清单

在清单中的xml我试图

android:windowSoftInputMode="stateAlwaysVisible" 

android:windowSoftInputMode="stateVisible" 

InputMethodManager

在叔他的活动我在活动

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    searchEditText = (EditText) findViewById(R.id.search_edit_text); 

    searchEditText.requestFocus(); 
    searchEditText.postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      InputMethodManager keyboard = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
      keyboard.showSoftInput(searchEditText, 0); 
     } 
    },200);; 
}); 

试图

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     searchEditText = (EditText) findViewById(R.id.search_edit_text); 
     InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.showSoftInput(searchEditText, InputMethodManager.SHOW_IMPLICIT); 
    }); 

Runnable接口

正如我在乞讨说,我敢肯定,它可以工作,因为它的工作原理在谷歌搜索。

+0

更多信息,这是一个设备或模拟器。当我的 设置 – BigT

+0

中没有检查到键盘设置时,我在模拟器中发现问题它发生在真实设备上:HTC Desire Z – nulll

回答

1

你有没有试过玩这个清单?

尝试下面的代码希望它有助于

<activity android:windowSoftInputMode="adjustPan"> 

,了解关于此次Read here

+0

它可以工作,但具有奇怪的行为:如果我用“主页按钮”退出应用程序,键盘仍然打开,如果我“重新打开”应用程序,键盘将不会再次出现。但如果我用“后退按钮”“退出”应用程序,它会按预期工作。我也不能明白为什么它会与“adjustPan”一起工作,而不会与“adjustResize”几乎是一回事! – nulll

+0

我会试一试,但这将是一个不同的问题,我不需要使用这个,但我仍然会尝试 –

+0

正如我在我的问题中所说的,我想获得像Google搜索这样的行为,在这个应用程序中,每当你“打开”应用程序时,键盘显示 – nulll

相关问题