这是我到目前为止的代码:
final ImageView plus_button = (ImageView) view.findViewById(R.id.plus_sign);
final ImageView minus_button = (ImageView) view.findViewById(R.id.minus_sign);
final int[] counter = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
final TextView num = (TextView) view.findViewById(R.id.num);
plus_button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if (plus_button.isPressed()) {
if ((counter[0] <= 9) && (counter[0] >= 0)) {
counter[0]++;
num.setText(Integer.toString(counter[0]));
}
}
}
});
minus_button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if (minus_button.isPressed()) {
counter[0]--;
if ((counter[0] <= 9) && (counter[0] >= 0)) {
num.setText(Integer.toString(counter[0]));
}
}
}
});
这会显示数字选择器(?)或数字增量器/减量器。
像
- 数字+
其中number是0到10之间的范围。如果单击&#34; - &#34;,数字会减少,如果单击加号&#34; +&#34;数字增量。
上面的代码大部分都有效,但我注意到了一些奇怪的事情:
1)拾取器最初是空白的,如下所示: - +
没有设置数字。当我点击&#34;加&#34;我希望它显示0,但它显示1.所以我认为它应该首先显示0,但它显示为空白。不知道为什么?
2)点击&#34;加&#34;我可以一直增加到10标志从1开始但是当我降到零时,我无法返回数字列表。我不确定为什么会这样?
编辑:如果我在击中0后点击减号按钮两次,就会发生这种情况。
3)如何从我上面编码的方式获取选择器的具体数字?对于前者如果用户将其设置为5,我怎么知道用户将选择器设置为5?有没有办法找出来?
编辑:这是新编辑的代码:
final ImageView plus_button = (ImageView) view.findViewById(R.id.plus_sign);
final ImageView minus_button = (ImageView) view.findViewById(R.id.minus_sign);
final int[] counter = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
final TextView num = (TextView) view.findViewById(R.id.num);
num.setText(Integer.toString(counter[0]));
plus_button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if (plus_button.isPressed()) {
if ((counter[0] <= 9) && (counter[0] >= 0)) {
counter[0]++;
num.setText(Integer.toString(counter[0]));
System.out.println(num.getText().toString());
}
}
}
});
minus_button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if (minus_button.isPressed()) {
if ((counter[0] <= 9) && (counter[0] >= 0)) {
counter[0]--;
num.setText(Integer.toString(counter[0]));
System.out.println(num.getText().toString());
}
}
}
});
答案 0 :(得分:1)
1)它以它的方式启动,因为你最初没有为它设置任何东西。你可以做类似num.setText(Integer.toString(counter [0]));在用它的id调用它之后。请注意,当您增加或减少时,您只将一些文本设置为num
2)我认为这与你无论如何减去这个事实有关。您应该在第二个if语句中进行减法操作。你现在拥有它的方式它允许你在零之前尽可能地去,但它不会显示,因为你的if评估它是否大于或等于零,并且因为它不是,它不会显示< / p>
3)不确定你的意思,但你可以做num.getText()。toString()并将其解析为整数或保持这样。当你调用它时,这将获得你的num textview上的内容