【问题标题】:how to show date picker in android app如何在 Android 应用中显示日期选择器
【发布时间】:2011-03-23 19:37:16
【问题描述】:

是否可以像在 iPhone 应用中一样在 Android 应用中制作日期选择器。

我在我的手机应用程序中看到了一个日期选择器,它有一个完成和取消按钮。月份、年份和日期是通过滚动来选择的,我如何在我的 android 应用程序中制作这样一个

【问题讨论】:

    标签: java android datepicker


    【解决方案1】:

    【讨论】:

    • 这些信息的唯一问题是它没有在谷歌教程中显示如何获取所选日期并将其显示在文本视图或任何其他方式上。
    【解决方案2】:

    您的 XML 布局

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <TextView android:id="@+id/dateDisplay"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=""/>
    <Button android:id="@+id/pickDate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Date Picker"/>
    </LinearLayout>
    

    你的活动课

     public class pickerdate extends Activity {
    /** Called when the activity is first created. */
      private TextView mDateDisplay;
        private Button mPickDate;
        private int mYear;
        private int mMonth;
        private int mDay;
    
        static final int DATE_DIALOG_ID = 0;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    
    
            mDateDisplay = (TextView) findViewById(R.id.dateDisplay);
            mPickDate = (Button) findViewById(R.id.pickDate);
    
    
            mPickDate.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    showDialog(DATE_DIALOG_ID);
                }
            });
    
    
            final Calendar c = Calendar.getInstance();
            mYear = c.get(Calendar.YEAR);
            mMonth = c.get(Calendar.MONTH);
            mDay = c.get(Calendar.DAY_OF_MONTH);
    
            updateDisplay();
        }
        private void updateDisplay() {
            mDateDisplay.setText(
                new StringBuilder()
                        // Month is 0 based so add 1
                        .append(mMonth + 1).append("-")
                        .append(mDay).append("-")
                        .append(mYear).append(" "));
        }
        private DatePickerDialog.OnDateSetListener mDateSetListener =
            new DatePickerDialog.OnDateSetListener() {
    
                public void onDateSet(DatePicker view, int year, 
                                      int monthOfYear, int dayOfMonth) {
                    mYear = year;
                    mMonth = monthOfYear;
                    mDay = dayOfMonth;
                    updateDisplay();
                }
            };
            @Override
            protected Dialog onCreateDialog(int id) {
                switch (id) {
                case DATE_DIALOG_ID:
                    return new DatePickerDialog(this,
                                mDateSetListener,
                                mYear, mMonth, mDay);
                }
                return null;
            }
         }
    

    【讨论】:

      猜你喜欢
      • 2012-09-01
      • 2013-07-26
      • 1970-01-01
      • 2014-01-09
      • 2019-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多