有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java 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,
                安卓.R.layout.simple_spinner_item, list);
        dataAdapter.setDropDownViewResource(安卓.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(dataAdapter);
    }

我对java没有太多的经验,所以我真的希望微调器从0开始,一次递增一到255

干杯


共 (2) 个答案

  1. # 1 楼答案

    为此更改您的代码:

    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);
        }
    
  2. # 2 楼答案

    您可以使用自定义适配器,该适配器最多返回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()