在活动中多纺纱 - 可以把它进行重构,使其动态生成的?(Multiple spinners in a

2019-10-18 02:34发布

我需要把多个纺纱到我的活动。 他们的数量将动态定义,这将是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”,...},只是产生一个循环需要微调的项目数?

Answer 1:

在您的布局当然定义一个容器,然后dinamically添加纱厂

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()获取每次迭代权项目



文章来源: Multiple spinners in an activity - can it be refactored to make it generated dynamically?