0

我已经实现了自定义列表视图。我在第四行有年份(Textview)。如果用户单击年份,我必须显示日期选择器并更新年份(Textview)中的日期选择器值。谁能告诉我该怎么做?android 上是否有任何 iphone 风格的日期选择器?

谢谢

4

1 回答 1

0

onlist item click 你可以写这行

                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();
            }
        }

    }

和列表视图的自定义文本视图中的日期。希望它对你有用。谢谢

于 2012-05-18T07:08:07.847 回答