设置并从微调器获取文本

时间:2013-04-12 17:47:36

标签: java android xml spinner

我正在尝试将文本设置为微调器,就像使用TextView一样,并且还可以获得这样的文本。我希望Spinner的行为与联系人应用程序中的行为类似,您可以在其中设置生日日期左右,并onClick打开DatePicker

我想在微调器中自动设置今天的日期。我现在使用setText,但不能使用微调器

我现在只需要Spinner行为的帮助,剩下的应该很简单。

2 个答案:

答案 0 :(得分:1)

使用按钮。使用Spinner风格。

看看:

<Button style="android:Widget.Holo.Spinner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="whatever you want"/>

(这仅适用于支持API级别&gt; = 4.0的设备 - 冰淇淋三明治)

绑定onClick并使用AlertDialog视图创建DatePicker

如果您使用ActionBarSherlock,那么下一个更受欢迎:

<Button style="Widget.Sherlock.Spinner.DropDown.ActionBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="whatever you want"/>

(这将适用于所有地方 - 经过测试)

答案 1 :(得分:0)

这来自文档:

Spinner spinner = (Spinner) findViewById(R.id.spinner);
// Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
        R.array.planets_array, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(adapter); 

  for (int i = 0; i < b; i++) {
                View v = spinner.getChildAt(i);
                if (v == null) {
                    System.out.println("View not found");
                } else {


                     v.setOnClickListener(new View.OnClickListener() {

                            @Override
                            public void onClick(View v) {
                                     showDialog(DATE_DIALOG_ID);
                                        }
                       });


----------
// the callback received when the user "sets" the date in the dialog
private DatePickerDialog.OnDateSetListener mDateSetListener =
        new DatePickerDialog.OnDateSetListener() {

            public void onDateSet(DatePicker view, int year,
                                  int monthOfYear, int dayOfMonth) {

            }
        };

@Override
protected Dialog onCreateDialog(int id) {


      switch (id) {
    case DATE_DIALOG_ID:
        return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,
                mDay);
    }
    return null;
}