我正在尝试将文本设置为微调器,就像使用TextView
一样,并且还可以获得这样的文本。我希望Spinner的行为与联系人应用程序中的行为类似,您可以在其中设置生日日期左右,并onClick
打开DatePicker
。
我想在微调器中自动设置今天的日期。我现在使用setText
,但不能使用微调器
我现在只需要Spinner行为的帮助,剩下的应该很简单。
答案 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;
}