Android微调器增量编号

时间:2014-07-10 12:57:38

标签: java android

我想在android中创建一个有0到255列表的微调器。我想知道我是怎么做的?

我目前有这个......

 public void addItemsOnSpinner() {

        spinner = (Spinner) findViewById(R.id.spinner);
        List<String> list = new ArrayList<String>();
        list.add("list 1");
        list.add("list 2");
        list.add("list 3");
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, list);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(dataAdapter);
    }

我对java没有多少经验,所以真的只想让微调器从0开始,然后逐渐增加到255.

干杯

3 个答案:

答案 0 :(得分:5)

更改您的代码:

public void addItemsOnSpinner() {

        spinner = (Spinner) findViewById(R.id.spinner);
        List<String> list = new ArrayList<String>();
        for (int i=0; i<=255; i++){
            list.add("list " + i);
        }
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, list);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(dataAdapter);
    }

答案 1 :(得分:3)

您可以使用自定义适配器返回最多255位的值:

public class CountAdapter extends ArrayAdapter<String> {

    public CountAdapter(Context context, int resource) {
        super(context, resource);
    }
    @Override
    public int getCount() {
        return 255;
    }
    @Override
    public String getItem(int position) {
        return String.valueOf(position);
    }
}

这样您就不必创建255个项目列表。例如,255显然可以在构造函数中进行参数化。或者在setter中(在这种情况下不要忘记调用notifyDataSetChanged()

答案 2 :(得分:1)

只需创建一个重复255次的for循环,每次都将当前索引添加到列表中。尝试这样的事情:

final List<String> list = new ArrayList<String>();

for(int i = 0; i < 255; i++) {
    String item = String.valueOf(i);
    list.add(item);
}

ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);
...