我正在尝试使用基于用户输入的值动态填充数组。用户必须输入一个例如4,微调器必须显示值(1,2,3,4)。所以我使用这种方法:
Integer[] items = new Integer []{0,1};
int size;
no_of_items_.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
size= (int) Float.parseFloat(no_of_items_.getText().toString());
items = new Integer [size];
int i=1;
for (i=1;i==size;i++)
{
items[i]=i;
}
populatespinner();
}
public void populatespinner()
{
ArrayAdapter<Integer> ItemNumberadapter = new ArrayAdapter<Integer> (this,android.R.layout.simple_spinner_item, items);
ItemNumberadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
item_no.setAdapter(LayerNumberadapter);
}
现在的问题是,当我运行代码时,微调器具有与用户输入的项目数相同的项目,但微调器的行完全空白。 LogCat显示此警告: &#34;文本未设置,因为它为空&#34; 这方面的任何帮助将不胜感激,这里有android noob。 : - )
答案 0 :(得分:0)
你可以尝试循环,我从0开始而不是1,看看它是否有帮助?
for (i=0;i<size;i++)
{
items[i]=i;
}
答案 1 :(得分:0)
ArrayList<Integer> Options = new ArrayList<Integer>();
for (int i = 0; i < size; i++) {
Options.add(i, i+1);
}