Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在EditTextPreference中设置最小和最大文本大小_Android_Android Edittext_Android Preferences - Fatal编程技术网

Android 在EditTextPreference中设置最小和最大文本大小

Android 在EditTextPreference中设置最小和最大文本大小,android,android-edittext,android-preferences,Android,Android Edittext,Android Preferences,如何使用EditTextPreference设置最大和最小文本大小?也就是说,当最大值=22,但用户(例如)设置为25时,他会从舒适的设置“最大值为22”中收到Toast,并且文本大小不会更改为25。请将此类用于过滤器: package com.test; import android.text.InputFilter; import android.text.Spanned; public class InputFilterMinMax implements InputFilter {

如何使用EditTextPreference设置最大和最小文本大小?也就是说,当最大值=22,但用户(例如)设置为25时,他会从舒适的设置“最大值为22”中收到Toast,并且文本大小不会更改为25。请将此类用于过滤器:

package com.test;

import android.text.InputFilter;
import android.text.Spanned;

public class InputFilterMinMax implements InputFilter {

    private int min, max;

    public InputFilterMinMax(int min, int max) {
        this.min = min;
        this.max = max;
    }

    public InputFilterMinMax(String min, String max) {
        this.min = Integer.parseInt(min);
        this.max = Integer.parseInt(max);
    }

    @Override
    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {   
        try {
            int input = Integer.parseInt(dest.toString() + source.toString());
            if (isInRange(min, max, input))
                return null;
        } catch (NumberFormatException nfe) { }     
        return "";
    }

    private boolean isInRange(int a, int b, int c) {
        return b > a ? c >= a && c <= b : c >= b && c <= a;
    }
}

将此类用于筛选器:

package com.test;

import android.text.InputFilter;
import android.text.Spanned;

public class InputFilterMinMax implements InputFilter {

    private int min, max;

    public InputFilterMinMax(int min, int max) {
        this.min = min;
        this.max = max;
    }

    public InputFilterMinMax(String min, String max) {
        this.min = Integer.parseInt(min);
        this.max = Integer.parseInt(max);
    }

    @Override
    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {   
        try {
            int input = Integer.parseInt(dest.toString() + source.toString());
            if (isInRange(min, max, input))
                return null;
        } catch (NumberFormatException nfe) { }     
        return "";
    }

    private boolean isInRange(int a, int b, int c) {
        return b > a ? c >= a && c <= b : c >= b && c <= a;
    }
}

你可以通过两种方式做到这一点

1) 在SharedReference中设置字体的最大和最小大小,然后从用户设置字体大小的屏幕上访问它

2) 如果您的大小是固定的,并且不会持续更改,则在活动中声明它为最终大小,然后在用户选择字体大小时进行比较


为了更好地理解,请提供您的代码,以便正确地进行更改和显示

你可以通过两种方式来实现

1) 在SharedReference中设置字体的最大和最小大小,然后从用户设置字体大小的屏幕上访问它

2) 如果您的大小是固定的,并且不会持续更改,则在活动中声明它为最终大小,然后在用户选择字体大小时进行比较


为了更好地理解,请提供您的代码,以便正确地进行更改和显示

这需要更多的信息和代码,以便我们了解您的错误之处。这需要更多的信息和代码,以便我们了解您的错误之处。