Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.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,我正在尝试制作我自己的数字选择器,我相信这就是使用Java/Android所说的。 然而,我认为这些原则比Android更适用于Java 我只想让它看起来像下面的文字,但可能使用图像: - 5 + 其中,数字范围为0到10 我不确定下面的方法是否是最好的方法,但我用伪代码/Java写了一些东西,希望得到重构或改进的反馈 我在想类似的事情 if(plusButton.isPressed() && buttonValue == 0) { image.setImageRes

我正在尝试制作我自己的数字选择器,我相信这就是使用Java/Android所说的。 然而,我认为这些原则比Android更适用于Java

我只想让它看起来像下面的文字,但可能使用图像:

- 5 +
其中,数字范围为0到10

我不确定下面的方法是否是最好的方法,但我用伪代码/Java写了一些东西,希望得到重构或改进的反馈

我在想类似的事情

if(plusButton.isPressed() && buttonValue == 0) { 
    image.setImageResource(R.drawable.number_zero_img) } 

else if (plusButton.isPressed() && buttonValue ==1) {
    image.setImageResource(R.drawable.number_one_img)} 

等等。。。。对于从0到10的所有情况,对于minusButton和PlusButton,但我认为这不是最好的方法。

您可以尝试类似的方法

将所有可绘制内容放在hashmap中

HashMap<Integer, Integer > drawables = new HashMap<Integer, Integer>();
drawables.put(1,R.drawable.number_one_img);
drawables.put(2,R.drawable.number_two_img);
//add asll drawables like this

此外,您还需要手动检查它是否超出范围,否则您会将null设置为图像的ImageResource

检查它是否超出范围是什么意思?我想让它到目前为止,用户只能点击10或最低到0。它不能超过这些值。在这种情况下,您需要检查两者并设置图像资源。例如,如果buttonValue<0,则设置buttonValue=0&image.setImageResourcedrawables.get0。对于>10也一样,或者使用ArrayList。啊,好点的黑豹!顺便说一句,我刚刚意识到也许我不需要数字图像,但我可能可以使用文本视图,并以这种方式动态更改数字。因此,只有两个图像,一个用于负数,一个用于正数。是的,SparseArray进入了我的脑海,但我猜他想设置不同的图像资源,并将值重置为超出边界的值,如大于10和小于0。如前一评论所述
// on plusButton pressed
image.setImageResource(drawables.get(buttonValue))