2011-03-08 121 views
0

如何保持鍵盤可見,或通過顯示下一個EditText視圖的鍵盤。如果輸入無效,我想保持鍵盤可見。或者,在有效輸入的情況下,請求對下一個EditText進行焦點後顯示小鍵盤。通過代碼顯示軟鍵盤

我的驗證:

private boolean processTextField(EditText str) { 

     Log.v("Exfo. Processing: ", str.getText().toString()); 

     boolean notZero = ((str.getText().toString().length() > 0) && (this.notZero(str.getText().toString()))); // checks id value is zero 

     if (notZero) { 
      if (this.frameSizeLength() == 0) { 
       txtFrameSize.requestFocus(); 
       // TO DO: display keyboard 
      } 
      else if (this.thruPutLength() == 0) { 
       txtThruPut.requestFocus(); 
       // TO DO: display keyboard 
      } 
      else 
        this.calcResults(Integer.valueOf(txtFrameSize.getText().toString()), Float.valueOf(txtThruPut.getText().toString())); 
      } 
      else { 
       this.showMSG("Enter a value greater than zero."); 
       // TO DO: keep focus on current EditTExt, display keypad 
      } 
    } 
} 

編輯:只有2 EditText上的觀點:框架尺寸和吞吐。

現在,無論如何,按下返回/完成按鈕後,鍵盤將被隱藏。我的目標是Android 2.2,但我現在只專注於觸摸設備。 謝謝, MD

回答

0

您可以使用它來強制它在指定的視圖上打開。

InputMethodManager imm = (InputMethodManager) getSystemService(
    Context.INPUT_METHOD_SERVICE); 
imm.showSoftInput(editText, InputMethodManager.SHOW_FORCED); 
+0

不確定是否實施此權利。作爲一項測試,我將其置於驗證塊中,但沒有任何反應。嘗試閱讀文檔,但沒有幫助,只是說會顯示輸入法。除了指定EditText的輸入之外,應用程序設置中是否還有某些應該標記的內容? – 2011-03-08 19:57:50

+0

已解決。必須在警報的事件監聽器中添加一行。 @RobbyPond,感謝您設置在正確的軌道上。 – 2011-03-08 20:29:43