2013-07-29 84 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

相關問題