0

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

我想在微调器中自动设置今天的日期。这是我setText现在做的,但不能用微调器做到这一点

我现在只需要 Spinner 行为方面的帮助,其余的应该很容易。

4

2 回答 2

1

使用按钮。带有微调器样式。

看看:

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

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

使用视图绑定onClick和创建。AlertDialogDatePicker

如果您使用 ActionBarSherlock 那么下一个是更优选的:

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

(这将在任何地方都有效 - 经过测试)

于 2013-04-12T19:04:36.867 回答
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;
}
于 2013-04-12T17:55:23.973 回答