【问题标题】:How to add elements to listview from parameter如何从参数将元素添加到列表视图
【发布时间】:2018-11-13 05:54:16
【问题描述】:

我正在尝试添加传递给参数的元素,假设我需要将 10 个元素添加到我的列表中,所以我需要 10 .add ,所以我想这样做以便能够加载不同的微调器用同样的方法,这就是我做的太过分了

 private void setSpinnerData(Spinner spinner){
        List<String> spinnerArray =  new ArrayList<String>();
        spinnerArray.add("item1");
        spinnerArray.add("item2");

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

        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        spinner.setAdapter(adapter);
    }

我需要的是这样的

 private void setSpinnerData(Spinner spinner,int elementsToAdd){
        List<String> spinnerArray =  new ArrayList<String>();
        for(int i = 0 ; i<elementsToAdd;i++){
        spinnerArray.add(i);
       }


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

        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        spinner.setAdapter(adapter);
    }

但我需要定义要添加的每个元素,我该怎么做?

【问题讨论】:

  • 我需要定义要添加的每个元素是什么意思
  • 传递参数(微调器微调器)我定义了微调器将填充使用 .add 添加的数据,现在,我想要的只是以编程方式将数据添加到微调器,假设我该微调器需要 5 个元素,我想说,添加 5,然后定义那些 5

标签: java android list arraylist


【解决方案1】:

我想这就是你想要的:

private void setSpinnerData(Spinner spinner,String... params){
        List<String> spinnerArray =  new ArrayList<String>();

        for(String str:params){
            spinnerArray.add(str);
        }

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

        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        spinner.setAdapter(adapter);
}

或者如果你需要传递一个 ArrayList:

 private void setSpinnerData(Spinner spinner,ArrayList<String> dataList){

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

            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

            spinner.setAdapter(adapter);
}

【讨论】:

  • 那么,我需要创建一个字符串数组来传递吗?
  • setSpinnerData(spinner,"String1","String2","String3");
  • setSpinnerData(spinner,"String1");
  • 如果你需要传递字符串数组,现在让我来编辑我的解决方案
  • 由于某种原因没有加载数据
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-01
  • 1970-01-01
  • 2014-06-16
相关资源
最近更新 更多