我已经实现了自定义列表视图。我在第4行有一年(Textview)。如果用户点击年份,我必须显示日期选择器并更新年份中的日期选择器值(Textview)。谁能告诉我怎么做? android上有没有iphone风格的日期选择器?
由于
答案 0 :(得分:0)
onlist项目点击你可以写这一行
showDialog(DATE_DIALOG_ID);
在此方法中,您可以编写此代码
@Override
public Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,
mDay);
日期时间选择器代码
private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
updateFromDateDisplay(false);
}
};
private void updateFromDateDisplay(boolean flag) {
String mTempDay = "", mTempMonth = "";
if (mDay < 10) {
mTempDay = returnProperDateMonth(mDay);
} else {
mTempDay = Integer.toString(mDay);
}
if (mMonth < 10) {
mTempMonth = returnProperDateMonth(mMonth + 1);
} else {
mTempMonth = Integer.toString(mMonth + 1);
}
if(flag){
startsOn.setText(new StringBuilder().append(mTempDay).append("/")
.append(mTempMonth).append("/").append(mYear).append(""));
}else{
if (mWhichDatePicker == 3) {
startsOn.setText(new StringBuilder().append(mTempDay).append("/")
.append(mTempMonth).append("/").append(mYear).append(""));
startsOn.setSelection((new StringBuilder().append(mTempDay)
.append("/").append(mTempMonth).append("/").append(mYear)
.append("")).length());
} else if (mWhichDatePicker == 4) {
endsOn.setText(new StringBuilder().append(mTempDay).append("/")
.append(mTempMonth).append("/").append(mYear).append(""));
endsOn.setSelection((new StringBuilder().append(mTempDay)
.append("/").append(mTempMonth).append("/").append(mYear)
.append("")).length());
Calendar cal = Calendar.getInstance();
cal.set(mYear, mMonth, mDay);
endDate = cal.getTime();
}
}
}
并在列表视图的自定义textview中显示日期。 希望它对你有用。 感谢