我不确定这是否正确,我需要一些帮助来解决这个问题。我想从 NumberPicker 中选择一个数字。选择后,我希望 setOnValueChangedListener 能够捕获值并运行 for 循环并将结果值存储在数组列表中。接下来,我希望循环值显示在我的微调器中。但我收到一条错误消息,说“无法解析构造函数 ArrayAdapter(....)”,当我运行应用程序时,我收到以下错误消息:
“错误:(79, 58) 错误:没有找到适合 ArrayAdapter(,int,List) 构造函数 ArrayAdapter.ArrayAdapter(Context,int,int,List) 的构造函数不适用(实际参数列表和形式参数列表的长度不同)构造函数 ArrayAdapter .ArrayAdapter(Context,int,List) 不适用(实参无法通过方法调用转换为Context) 构造函数ArrayAdapter.ArrayAdapter(Context,int,int,Object[]) 不适用(实参和形式参列表不同)长度)构造函数 ArrayAdapter.ArrayAdapter(Context,int,Object[]) 不适用(无法通过方法调用转换将实参转换为 Context)构造函数 ArrayAdapter.ArrayAdapter(Context,int,int) 不适用(实际参数无法通过方法调用转换转换为 Context)构造函数 ArrayAdapter.ArrayAdapter(Context,int) 不适用(实际参数列表和形式参数列表长度不同)"
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.new_item);
final List<Integer> resultInteger = new ArrayList<Integer>(); // to store the integer value
final Spinner hourSpinner = (Spinner) findViewById(R.id.hourSpinner);
final NumberPicker HourPicker = (NumberPicker) findViewById(R.id.HourNumberPicker);
HourPicker.setMinValue(9);
HourPicker.setMaxValue(15);
HourPicker.setWrapSelectorWheel(false);
HourPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
Integer value = HourPicker.getValue();
for (int index = 0; index == value; index++)
{
resultInteger.add(index);
}
ArrayAdapter<CharSequence> hourAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, resultInteger);
hourAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
hourSpinner.setAdapter(hourAdapter);
}
});
}
谢谢你。