2013-03-23 48 views
1

在模擬器上測試一個android項目時,鍵盤似乎工作正常。但是,當我在我的三星手機上測試時,鍵盤工作不正常。一個問題是,當我的第一個顯示器出現時,鍵盤會自動出現,儘管它不在模擬器中。其次,如果我鍵入內容並點擊返回或輸入鍵,則鍵盤不會在手機上消失。是否有單獨的步驟需要關閉鍵盤?第三,有時當我點擊回車鍵時,它會導致光標移動到新行而不是提交數據。再一次,這些都不是模擬器的問題。那麼,爲了使鍵盤在我的手機設備上正常工作,我需要做些什麼?與模擬器相比,Android設備的鍵盤在設備上的行爲不同

下面是我的代碼,用於接收和提交數據與一個AutocompleteText視圖。

autoComplete = (AutoCompleteTextView) findViewById(R.id.suggest); 
     autoComplete.addTextChangedListener(new TextWatcher(){ 

      public void afterTextChanged(Editable editable) { 
       // TODO Auto-generated method stub 

      } 

      public void beforeTextChanged(CharSequence s, int start, int count, int after) { 
       // TODO Auto-generated method stub 

      } 

      public void onTextChanged(CharSequence s, int start, int before, int count) { 
       String newText = s.toString(); 
       int len = newText.length(); 
      //  Toast.makeText(getApplicationContext(), "Text changed count = " + String.valueOf(len), Toast.LENGTH_LONG).show(); 
       if(len > 1) 
        new getData().execute(newText); 
      } 

     }); 

有時,當我按下回車鍵時,它會轉到另一行,而不是執行我的異步任務。

+1

請再次提供一些佈局代碼以獲得幫助,除了連續發佈問題。 – Kanth 2013-03-23 05:04:32

回答

0

你需要強行打開和關閉軟鍵盤爲您的要求。

打開軟鍵盤

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.showSoftInput(your_edit_text, InputMethodManager.SHOW_FORCED); 

關閉軟鍵盤

InputMethodManager imm = (InputMethodManager)getSystemService(
         Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(your_edit_text.getWindowToken(), 0); 

正確工作完成(回車)鍵,你應該把以下特性s to Edit Text in .XML file。

android:singleLine="true" 
android:imeOptions="actionDone" 
+0

謝謝您的建議。我將添加此代碼並查看它是否更好。 – Dave 2013-03-23 13:52:00

相關問題