以编程方式创建一个微调器

时间:2013-04-20 11:33:06

标签: android spinner android-spinner

我想在不使用xml的情况下创建一个微调器。我是android新手,我的知识有限。到现在为止,我有了这个代码(见上文),我希望我的微调器能够进入TabActivity的选项卡。 没有明显的错误,但是当我打开我的活动时,标签是空的。我将不胜感激。

public class Search extends Activity {

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    ArrayList<String> spinnerArray = new ArrayList<String>();
    spinnerArray.add("one");
    spinnerArray.add("two");
    spinnerArray.add("three");
    spinnerArray.add("four");
    spinnerArray.add("five");

    Spinner spinner = new Spinner(this);
    ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, spinnerArray);
    spinner.setAdapter(spinnerArrayAdapter);


}

2 个答案:

答案 0 :(得分:29)

您需要将Spinner添加到布局中。

首先为container创建Spinner,然后创建Spinner并将其添加到container。接下来将Activity的内容设置为container

可以在onCreate方法中执行此操作:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my);

    LinearLayout layout = new LinearLayout(this);

    ArrayList<String> spinnerArray = new ArrayList<String>();
    spinnerArray.add("one");
    spinnerArray.add("two");
    spinnerArray.add("three");
    spinnerArray.add("four");
    spinnerArray.add("five");

    Spinner spinner = new Spinner(this);
    ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, spinnerArray);
    spinner.setAdapter(spinnerArrayAdapter);

    layout.addView(spinner);

    setContentView(layout);
}

修改

只是为了澄清:如果Spinner没有添加到布局内Activity的内容中,那么它就不可见了,所以这就是为什么你没有得到任何错误或任何错误,因为代码本身没有任何错误; - )

答案 1 :(得分:0)

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        LinearLayout layout = new LinearLayout(this);

        // The following can also be done using a loop
        ArrayList<String> spinnerArray = new ArrayList<String>();
        spinnerArray.add("one");
        spinnerArray.add("two");
        spinnerArray.add("three");
        spinnerArray.add("four");
        spinnerArray.add("five");


        Spinner spinner = new Spinner(MainActivity.this);
        ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_dropdown_item, spinnerArray);
        spinner.setAdapter(spinnerArrayAdapter);
        layout.addView(spinner);
        setContentView(layout);
    }
    }