如何在android中创建动态Spinners?

时间:2013-11-07 12:52:36

标签: java android android-spinner

这段代码运行正常,但它只动态创建一个微调器我希望从数据库中获取值并希望运行循环直到数据库值并在循环内生成动态Spinner我已经提到了 FOR LOOP的代码但它不起作用以及我想在不同的微调器中加载不同的项目请告诉我如何做到这一点?

public class DisciplineActivity extends Activity
    {  ArrayList<String> selectDisciplineArrayList,disciplineInfoArrayList;
        @Override
         protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
         setContentView(R.layout.discipline_view);
         for(int i=0;i<20;i++)
    {
     disciplineInfoArrayList.add("select location item:"+i);
    }
      // for(int i=0;i<5;i++)
    //{
         Spinner disciplineInfoSpinner = new Spinner(this);
         ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
                 this, android.R.layout.simple_spinner_item,disciplineInfoArrayList);
         spinnerArrayAdapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );

         disciplineInfoSpinner = (Spinner) findViewById(R.id.disciplineinfo_spinner);
         disciplineInfoSpinner.setAdapter(spinnerArrayAdapter);
    }//
    }

1 个答案:

答案 0 :(得分:0)

您正在创建一个新的Spinner,并且无法使用它。

您需要在“discip_view”布局上创建一个空的LinearLayout,然后在该LinearLayout上添加您创建的Spinners,如下所示:

LinearLayout linearLayout = (LinearLayout) findViewById(R.id.linear);
for(int i=0;i<5;i++) {
     Spinner disciplineInfoSpinner = new Spinner(this);
     ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
             this, android.R.layout.simple_spinner_item,disciplineInfoArrayList);
     spinnerArrayAdapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );

     disciplineInfoSpinner.setAdapter(spinnerArrayAdapter);
     linearLayout.addView(disciplineInfoSpinner);
}