Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.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
Java 获取值的数字选择器_Java_Android - Fatal编程技术网

Java 获取值的数字选择器

Java 获取值的数字选择器,java,android,Java,Android,我用字符串设置了一个数字选择器,但是我在获取正在显示的字符串时遇到了问题 下面是数字选择器的构造代码 fractionPicker是我的数字选择器 void fractionPickerFunction(){ final String[] arrayString= new String[]{"None", "1/8", "1/4", "3/8", "1/2", "5/8", "3/4", "7/8"}; fractionPicker.setMinValue(0); fr

我用字符串设置了一个数字选择器,但是我在获取正在显示的字符串时遇到了问题

下面是数字选择器的构造代码

fractionPicker是我的数字选择器

void fractionPickerFunction(){
    final String[] arrayString= new String[]{"None", "1/8", "1/4", "3/8", "1/2", "5/8", "3/4", "7/8"};

    fractionPicker.setMinValue(0);
    fractionPicker.setMaxValue(arrayString.length-1);

    fractionPicker.setFormatter(new NumberPicker.Formatter() {
        @Override
        public String format(int value) {

            return arrayString[value];
        }
    });
}

如果只需要获得结果,请设置更改侦听器。如果仍然需要使用setFormatter修改变量,则只需同时使用这两种工具即可。调用setFormatter,然后添加更改侦听器。然后它将返回给您,您修改的变量

改变

void fractionPickerFunction(){
    final String[] arrayString= new String[]{"None", "1/8", "1/4", "3/8", "1/2", "5/8", "3/4", "7/8"};

fractionPicker.setMinValue(0);
fractionPicker.setMaxValue(arrayString.length-1);

fractionPicker.setFormatter(new NumberPicker.Formatter() {
    @Override
    public String format(int value) {

        return arrayString[value];
    }
});
}

为此:

fractionPicker.setOnValueChangedListener(new OnValueChangeListener() {

        @Override
        public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
            // TODO Auto-generated method stub

            String Old = "Old Value : ";
            String New = "New Value : ";

        }
    });
你应该参考号码簿上的。简言之 您将要通过调用NumberPicker上的
setOnValueChangedListener
来设置。您可以通过以下方法实现此目的:

fractionPicker.setOnValueChangedListener(new OnValueChangeListener() {

    @Override 
    public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
        // Do your work here 

        // Parameters
        //  picker  NumberPicker: The NumberPicker associated with this listener.
        //  oldVal  int: The previous value.
        //  newVal  int: The new value.
    }
});

你有什么问题?请阅读有关如何创建代码示例的提示。我正在尝试获取选择器的值。我不能使用getValue(),因为它们不是整数。因此,我不知道使用什么方法来获取字符串的实际值。如果您将数组存储在xml文件中,并通过getStringArray()和ArrayAdapter访问它,就可以轻松地获取值。考虑给定的链接,我希望它会有所帮助,