溫馨提示×

Android InputFilter如何自定義擴展

小樊
86
2024-07-19 17:50:41
欄目: 編程語言

要自定義擴展Android InputFilter,您可以創(chuàng)建一個新的類來實現(xiàn)InputFilter接口,并重寫其方法。以下是一個簡單的示例:

public class CustomInputFilter implements InputFilter {
    
    private int mMaxValue;

    public CustomInputFilter(int maxValue) {
        mMaxValue = maxValue;
    }

    @Override
    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
        try {
            // 獲取當前輸入的數(shù)字
            String input = dest.toString() + source.toString();
            int value = Integer.parseInt(input);

            // 檢查輸入是否超過最大值
            if (value > mMaxValue) {
                return "";
            }
        } catch (NumberFormatException e) {
            // 輸入不是數(shù)字,忽略
        }

        return null; // 返回null表示接受輸入
    }
}

然后,您可以將自定義InputFilter應用于EditText控件:

EditText editText = findViewById(R.id.edit_text);
editText.setFilters(new InputFilter[] {new CustomInputFilter(100)});

在這個例子中,CustomInputFilter類將輸入限制在一個特定的最大值(在這里是100)。您可以根據自己的需求修改CustomInputFilter實現(xiàn)。

0