2016-09-07 105 views
1

我想在我的編輯文本中設置1個字符的長度,但只是在一種情況下,因爲我想在其他中使用,我搜索了它並找到了XML的一些內容,但這樣做會改變我所做的所有條件我只想在沒有XML的情況下設置最大長度。設置EditText的最大長度

+0

貌似這個答案應該幫助你:http://stackoverflow.com/a/24749916/5527154 –

+0

它沒有幫助人 –

+0

爲什麼android沒有爲此做好準備功能 –

回答

4
public void setEditTextMaxLength(EditText editText, int length) { 
     InputFilter[] FilterArray = new InputFilter[1]; 
     FilterArray[0] = new InputFilter.LengthFilter(length); 
     editText.setFilters(FilterArray); 
    } 
+0

如何調用它我看到了這個函數,我給它的EditText ID和長度,但沒有發生 –

4

您可以在XML補充一點:

機器人:最大長度= 「10」

或編程:

EditText editText = new EditText(this); 
int maxLength = 3;  
editText.setFilters(new InputFilter[] { 
    new InputFilter.LengthFilter(maxLength) 
}); 
+0

以及該代碼的準確位置 –

+0

您將第一個選項放在.xml文件(活動佈局)中。 或 將第二個選項放在 setContentView(R.layout.your_activity)後面的活動文件中; 它將是這樣的: @Override 保護無效的onCreate(捆綁savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.your_activity); EditText editText =(EditText)findViewById(R.id.your_edit_text); int maxLength = 3; editText.setFilters(new InputFilter [] { new InputFilter.LengthFilter(maxLength) }); } –

0
edtTime.setFilters(new InputFilter[]{ new InputFilter.LengthFilter(4) });