代码之家  ›  专栏  ›  技术社区  ›  Imad062

如何从AlertDialog CustomView中的DatePicker设置AlertDialog CustomView中当前选定的日期

  •  0
  • Imad062  · 技术社区  · 7 年前

    我有一个 AlertDialog 使用 自定义视图 . 该视图包括 文本视图 和a 日期选择器 . 我想从textview中的日期选择器设置当前日期。

    以下是AlertDialog的屏幕截图 enter image description here

    我的 对话框 具体如下:

    AlertDialog.Builder alert = new AlertDialog.Builder(this);
    
            TextView titleText = (TextView) new TextView(getApplicationContext());
            titleText.setText("Add Book and Renew Date");
            titleText.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
            titleText.setGravity(Gravity.CENTER);
            titleText.setPadding(10,10,10,10);
            titleText.setTypeface(null, Typeface.BOLD);
    
            alert.setCustomTitle(titleText)
                    .setView(R.layout.alertdialog_content)
                    .setPositiveButton("Add", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Toast.makeText(getApplicationContext(), "ADDED", Toast.LENGTH_LONG).show();
                        }
                    })
                    .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Toast.makeText(getApplicationContext(), "CANCELLED", Toast.LENGTH_LONG).show();
                            finish();
                        }
                    });
    
            AlertDialog alertDialog = alert.create();
            Log.d("BeforShow", "HEREEEE");
            alertDialog.show();
    

    我想在 当前设置日期 text查看,以便用户可以查看他/她选择的日期。

    2 回复  |  直到 7 年前
        1
  •  3
  •   hemen    7 年前

    这里是日期选取器101,很抱歉用双关语

    DatePickerDialog datePickerDialog = new DatePickerDialog(context, new DatePickerDialog.OnDateSetListener() {
    
            @Override
            public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                //here you go
            }
        }, mYear, mMonth, mDay);
    
        datePickerDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
            @Override
            public void onCancel(DialogInterface dialog) {
                ]
                dialog.dismiss();
            }
        });
        datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
        datePickerDialog.show();
    
        2
  •  2
  •   Akhil Ghatiki    7 年前

    我希望您需要更改“ 当前设置日期 “代替” 当前设定时间 “正如你在问题中所问的那样。无论如何。。。

    在自定义对话框中有日期选择器的实例。使用 onDateChangedListener 您可以使用此方法更改文本视图。这将返回日期更改时的日期、日期和月份值。当日期选择器中的日期发生更改时,将调用此方法。

    详细参考: https://developer.android.com/reference/android/widget/DatePicker.OnDateChangedListener.html

    上帝的速度!!