EditText et = findViewById(R.id.et_input);
final int MAX_LEN = 16;
et.addTextChangedListener(new TextWatcher() {
@Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override public void onTextChanged(CharSequence s, int start, int before, int count) {}
@Override public void afterTextChanged(Editable s) {
if (s.length() > MAX_LEN) {
// 移除多餘字元(保留前 MAX_LEN)
s.delete(MAX_LEN, s.length());
// 可選:Toast 提示
}
}
});
使用 Dialog 相關屬性(maxHeight)無效,因計算器輸入框為 EditText/TextView,非對話框。
android:inputType="numberDecimal" 或 DigitsKeyListener。