Android 尝试创建微调器数组

Android 尝试创建微调器数组,android,spinner,Android,Spinner,我创建了一个微调器数组,但当我在emulator中运行微调器时,就像“隐藏”其他微调器一样。如何设置微调器的位置,使其能够以良好的顺序自动形成。 这是我的密码 Spinner[] arrSpinner = new Spinner[10]; ArrayAdapter arrAdapter[] = new ArrayAdapter[10]; List[] listSoal = new ArrayList[10]; for(int i=0;i<10;i++){

我创建了一个微调器数组,但当我在emulator中运行微调器时,就像“隐藏”其他微调器一样。如何设置微调器的位置,使其能够以良好的顺序自动形成。 这是我的密码

Spinner[] arrSpinner = new Spinner[10];
    ArrayAdapter arrAdapter[] = new ArrayAdapter[10];
    List[] listSoal = new ArrayList[10];
    for(int i=0;i<10;i++){  
        listSoal[i] = new ArrayList<String>();
        listSoal[i].add("Soal "+i);
    }
    List[] listJawaban = new ArrayList[10];
    for(int i=0;i<10;i++){  
        listJawaban[i] = new ArrayList<String>();                           
        listJawaban[i].add("Pilih Jawaban");
        listJawaban[i].add("Pilihan 2");
        listJawaban[i].add("Pilihan 3");
        listJawaban[i].add("Pilihan 4");

    }
    int soal = 1;
    for(int i=0;i<10;i++){

        TextView tv = new TextView(getApplicationContext());
        tv.setText("Soal "+soal);
        addContentView(tv, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 
                LinearLayout.LayoutParams.WRAP_CONTENT));
        //addContentView(tv, null);
        arrSpinner[i] = new Spinner(this,0);
        arrAdapter[i] = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item,listJawaban[i]);
        arrSpinner[i].setPrompt("Pilih Jawaban");
        addContentView(arrSpinner[i], new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 
                LinearLayout.LayoutParams.WRAP_CONTENT));

        arrAdapter[i].setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        arrSpinner[i].setOnItemSelectedListener(new SpinnerAction());
        arrSpinner[i].setAdapter(arrAdapter[i]);
        soal++;
    }
Spinner[]arrSpinner=新微调器[10];
ArrayAdapter ArrayAdapter[]=新的ArrayAdapter[10];
List[]listSoal=newarraylist[10];
对于(int i=0;i您正在呼叫

addContentView(tv, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
你把他们都放在同一个位置

如果要将这些内容放入框架布局中,则需要使用类似于
MarginLayoutParams
的内容,并为每个视图提供一个上边距,以便将它们隔开


或者,您可以通过将它们放在线性布局中来修复它。

您应该将一些线性布局或其他布局作为根布局,以将动态微调器添加为该视图的子级

为此,您必须执行如下操作:
View linearLayout=findViewById(R.id.layoutID);
因此,现在您的所有
微调器都将是
linearLayout的添加子对象

Spinner spinner = new Spinner(this);
spinner .setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
... 
...
//then you spinner adapter code 
linearlayout1.addView(spinner);
我希望这将帮助您以同样的方式管理动态微调器,即使您没有任何
LinearLayout
,也可以动态创建并使用它

LinearLayout linearlayout1 = new LinearLayout(this);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
linearlayout1.setOrientation(LinearLayout.HORIZONTAL);
layoutParams.setMargins(10, 0, 0, 0);
linearlayout1.setLayoutParams(layoutParams );

使用布局的多微调器

    LinearLayout ll = new LinearLayout(this);
    ll.setOrientation(LinearLayout.VERTICAL);
    for (int i = 0; i < 2; i++) {
         Spinner spinner = new Spinner(this);
         ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
                       android.R.layout.simple_spinner_item, list.get(i));
         dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
         spinner.setAdapter(dataAdapter);
         LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
         ll.addView(spinner, params);

}
alert.setView(ll); 
LinearLayout ll=新的LinearLayout(本);
ll.设置方向(线性布局、垂直);
对于(int i=0;i<2;i++){
微调器微调器=新微调器(此);
ArrayAdapter dataAdapter=新的ArrayAdapter(此,
android.R.layout.simple_微调器_项,list.get(i));
dataAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉项);
spinner.setAdapter(dataAdapter);
LinearLayout.LayoutParams params=新的LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL\u父级,LinearLayout.LayoutParams.WRAP\u内容);
ll.addView(微调器、参数);
}
警报.setView(ll);

u plz能否显示布局