2016-02-08 39 views
0

我正在製作一個自定義的android鍵盤。我想確保當用戶按下回車鍵時發生了EditorAction。因此,我想知道有沒有辦法檢查edittext是單行還是不行?或者有什麼辦法檢查editext的最小和最大行數?如何檢查edittext是否是單行android

回答

0

在你onStartInput(EditorInfo info)onStartInputView(EditorInfo info)回調EditorInfo在通過

要檢查它是否是一個多你可以做:

if (0 != (info.inputType & InputType.TYPE_TEXT_FLAG_MULTI_LINE)) { 
    //This is multiline text field 
} 

See TYPE_TEXT_FLAG_MULTI_LINE

0

您可以通過設置一個按鍵偵聽器實現它並檢查getMaxLines()和getMinLines()屬性。請注意,它適用於API> 15!

EditText editText = new EditText(this); 

editText.setOnKeyListener(new View.OnKeyListener() 
{ 
    @Override 
    public boolean onKey(View view, int keyCode, KeyEvent keyEvent) 
    { 
     if (view instanceof EditText && ((EditText) view).getMaxLines() == 1 && ((EditText) view).getMinLines() == 1) 
     { 
      // this is a single line EditText view 
     } 
     return false; 
    } 
}); 
相關問題