簡體   English   中英

顯示軟鍵盤時如何在Android中獲取Edittext輸入類型

[英]How to get the Edittext input type in Android when softkeyboard is displayed

當鍵盤在Android中的edittext中顯示時,如何獲取或知道軟鍵盤顯示了哪種輸入類型。由於我想保留edittext輸入類型的內存,即使數據得到通知並更改了輸入類型也是如此想要在我的局部變量中保持輸入類型。

即我的要求是當我手動將編輯文本更改為數字並鍵入一些內容時,Edittext將事件發送到服務器,並且數據被更改,之后,當我再次按下以修改編輯文本中的值時,鍵盤將更改到字母鍵盤。這是我想避免的,我想保持軟鍵盤為數字,所以我想讓輸入類型顯示在鍵盤上。 所以我怎樣才能在鍵盤上顯示Edittext的輸入類型

String yourEditTextInputType;
        int editTextType = someEditText.getInputType();
        switch (editTextType) {
            case (InputType.TYPE_TEXT_FLAG_CAP_WORDS|InputType.TYPE_CLASS_TEXT): {
                yourEditTextInputType = "Name ";
            }
            break;
             case InputType.TYPE_CLASS_PHONE: {
                yourEditTextInputType = "Phone Number ";
            }
            break;
            case InputType.TYPE_CLASS_DATETIME: {
                yourEditTextInputType = "Date ";
            }
            break;
            case InputType.TYPE_CLASS_NUMBER: {
                yourEditTextInputType = "Number ";
            }
            break;
            case InputType.TYPE_TEXT_VARIATION_POSTAL_ADDRESS: {
                yourEditTextInputType = "Address ";
            }
            break;
            case (InputType.TYPE_TEXT_VARIATION_PASSWORD|InputType.TYPE_CLASS_TEXT): {
                yourEditTextInputType = "Password or Confirm Password ";
            }
            break;
            case (InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS|InputType.TYPE_CLASS_TEXT): {
                yourEditTextInputType = "Email ";
            }
            break;

            default: {
                yourEditTextInputType = "Field ";
            }
            break;
        }

      Log.d("TYPE",yourEditTextInputType);

      // Handle your logic of displaying keyboard , depending on input type

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM