gpt4 book ai didi

java - 在 NumberPicker 中设置数字的默认值

转载 作者:行者123 更新时间:2023-12-02 06:56:26 26 4
gpt4 key购买 nike

我正在尝试使用数字选择器进行一些简单的数学运算,这就是基本的字符串操作。只是在下面的代码中找不到开始。我有几个数字选择器,每个数字选择器对于其中的每个区间都有一个预定值。

NumberPicker np - 将 25 添加到每个单独的数字。 1 = 25、2 = 50 等

NumberPicker np2 - 将 100 添加到每个单独的数字。 1 = 100、2 = 200 等

现在我有一个主 TextView,我必须显示这些数字选择器值的当前输出,并添加“权重”,并显示相加的数字。

如果我的问题不像我想写的那么清楚,我很抱歉,我只是很难找到好的资源来帮助我弄清楚如何以简单的方式做到这一点。

我尝试在下面的代码中获取 TextView 的当前值,然后获取数字选择器的值,然后我需要代码来添加数字 25,因此 1 = +25,然后将其设置为我的 TextView 。

    String current_weight = current_weight_view.getText().toString();
String newvalue= getText(newVal).toString();
res=Integer.parseInt(current_weight)+Integer.parseInt(newvalue);
current_weight_view.setText(Integer.toString(res));

--

public class MainActivity extends Activity {
private TextView current_weight;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setupUI();
}
public void setupUI()
{
current_weight = (TextView) findViewById(R.id.current_weight);
NumberPicker np = (NumberPicker) findViewById(R.id.npId);
NumberPicker np1 = (NumberPicker) findViewById(R.id.NumberPicker01);
NumberPicker np2 = (NumberPicker) findViewById(R.id.NumberPicker02);
NumberPicker np3 = (NumberPicker) findViewById(R.id.NumberPicker03);


np.setOnValueChangedListener(new OnValueChangeListener()
{
public void onValueChange(NumberPicker picker, int oldVal,
int newVal)
{
current_weight.setText(String.valueOf(newVal));
}
});
np1.setOnValueChangedListener(new OnValueChangeListener()
{
public void onValueChange(NumberPicker picker, int oldVal,
int newVal)
{
current_weight.setText(String.valueOf(newVal));
}
});
np2.setOnValueChangedListener(new OnValueChangeListener()
{
public void onValueChange(NumberPicker picker, int oldVal,
int newVal)
{
current_weight.setText(String.valueOf(newVal));
}
});
np3.setOnValueChangedListener(new OnValueChangeListener()
{
public void onValueChange(NumberPicker picker, int oldVal,
int newVal)
{
current_weight.setText(String.valueOf(newVal));
}
});

np.setMaxValue(10);
np.setMinValue(1);
np1.setMaxValue(10);
np1.setMinValue(1);
np2.setMaxValue(10);
np2.setMinValue(1);
np3.setMaxValue(10);
np3.setMinValue(1);
}

最佳答案

我不确定你想要实现什么,也许你可以尝试NumberPicker.Formatter :

 np.setMaxValue(10);
np.setMinValue(1);

np.setFormatter(new NumberPicker.Formatter() {
@Override
public String format(int i) {
return String.valueOf(i*10);
}
});

现在 NumberPicker 会将值显示为 10,20,30..100,而不是 1,2,3..10。但是内部值不会改变,如果用户选择 100,getValue() 将是 10。

关于java - 在 NumberPicker 中设置数字的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17268886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com