1

我需要将多个微调器放入我的活动中。它们的数量将动态定义,它将是 2-7 项。

目前我有类似的东西:

-- clip:

Spinner spinnerOne = (Spinner) findViewById(R.id.spinnerBrowse);
spinnerOne.setAdapter(new Adapter(Browse.this, R.layout.browse_spinner_rows, picsIds)); 
spinnerOne.setOnItemSelectedListener(this);

Spinner spinnerTwo = (Spinner) findViewById(R.id.spinnerBrowse);
spinnerTwo.setAdapter(new Adapter(Browse.this, R.layout.browse_spinner_rows, picsIds)); 
spinnerTwo.setOnItemSelectedListener(this);

-- clap.

这些微调器的内容是相同的,它们只是名称不同。是否可以通过这些名称进行迭代,例如将名称放入数组 { "SpinnerOne", "SpinnerTwo", "SpinnerThree", ... } 并在循环中生成所需的微调器项目数量?

4

1 回答 1

2

确定在您的布局上定义一个容器,然后动态添加微调器

int numOfSpinners;
LinearLayout container = (LinearLayout)findViewById(R.id.container);
for(int i=0;i<numOfSpinners;i++)
{
   Spinner spinner = new Spinner(this);
   spinner.setAdapter(new Adapter(Browse.this, R.layout.browse_spinner_rows, getPicsIds(i)));
   spinner.setOnItemSelectedListener(this);
   container.addView(spinner);
}

其中 getPicsIds() 为每次迭代获取正确的项目

于 2013-04-30T19:42:32.623 回答