Вопрос по android – Как извлечь дату из CalendarView и отобразить выбранную дату?

6

В настоящее время я использую код ниже, и я могу получить текущую дату для отображения в текстовом поле. Однако я не знаю, как отобразить выбранную дату.

Я также использовал DatePicker, и он отлично отображает выбранную дату, однако я бы предпочел CalendarView. Спасибо

<code>Calendar c = Calendar.getInstance();
        SimpleDateFormat ss = new SimpleDateFormat("dd-MM-yyyy");
        Date date = new Date();
        String currentdate= ss.format(date);
        TextView editText = (TextView) this.findViewById(R.id.textfield1);
        editText.setText(currentdate);
</code>
передайте это в намерение дополнительно, когда вы называете свое следующее действие. В противном случае, научитесь использовать startActivityForResult Snicolas
Ваш вопрос не ясен. Что именно вы хотите? Snicolas
Если пользователь выбирает дату в CalendarView, я хочу сохранить ее в переменной и показать в следующем действии, чтобы пользователь мог получить сообщение, которое вы выбрали, эту дату 25-04-2012 GuyWhoReadsStockoverflow
Это не проблема, но как я могу извлечь дату из CalendarView и отобразить выбранную дату? GuyWhoReadsStockoverflow

Ваш Ответ

5   ответов
0
CalendarView view = new CalendarView(this);
setContentView(view);

view.setOnDateChangeListener(new OnDateChangeListener() {

    @Override
    public void onSelectedDayChange(CalendarView arg0, int year, int month,
        int date) {
        Toast.makeText(getApplicationContext(),date+ "/"+month+"/"+year,4000).show();
    }
});
0
Calendar c = Calendar.getInstance();
    SimpleDateFormat ss = new SimpleDateFormat("dd-MM-yyyy");
    Date date = new Date();
    String currentdate= ss.format(date);
    TextView ,editText = (TextView) this.findViewById(R.id.textfield1);
    editText.setText(currentdate);

выше один ваш код попробуйте ниже код

CalendarView cv = (CalendarView)findViewById(R.id.cv1);
Calendar c = Calendar.getInstance();
    SimpleDateFormat ss = new SimpleDateFormat("dd-MM-yyyy");
    Date date = new Date(cv);
    String currentdate= ss.format(date);
    TextView editText = (TextView) this.findViewById(R.id.textfield1);
    editText.setText(currentdate);
Почему вы прошли cv внутри конструктора даты?
Дата дата = новая дата (cv); был объявлен устаревшим
Было бы полезно добавить объяснение того, что вы сделали для решения проблемы.
2
CalendarView view = new CalendarView(this);
setContentView(view);

view.setOnDateChangeListener(new OnDateChangeListener() {

    @Override
    public void onSelectedDayChange(CalendarView arg0, int year, int month,
        int date) {
        Toast.makeText(getApplicationContext(),date+ "/"+month+"/"+year,4000).show();
    }
});

3

в onCreate:

 CalendarView v = new CalendarView( this );
 v.setOnDateChangeListener( new CalendarView.OnDateChangeListener() {
    public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
       this.calendar = new GregorianCalendar( year, month, dayOfMonth );
    }//met
 });
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded GuyWhoReadsStockoverflow
0
Calendar c = Calendar.getInstance();

Calendar отличается отCalendarView. CalendarView является потомкомView так что у него есть много обработчиков событий, таких какonClickListener, Возможно, это то, что вы пытаетесь найти?

будет что-то вроде этой работы: CalendarView calendarmy = (CalendarView) findViewById (R.id.calendarView1); GuyWhoReadsStockoverflow

Похожие вопросы