2012-04-26 189 views
4

当前我正在使用下面的代码,并且可以获取当前日期以在文本字段中显示。不过,我不知道如何显示选定的日期。如何从CalendarView中提取日期并显示选定的日期?

我也使用DatePicker,它显示精选的日期,但我更喜欢CalendarView。由于

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); 
+0

你的问题不明确。你想要什么? – Snicolas 2012-04-26 19:17:57

+0

如果用户在CalendarView上选择日期,我想将它存储在变量中,并将其显示在下一个活动中,那么用户可以得到您选择的日期消息25-04-2012 – GuyWhoReadsStockoverflow 2012-04-26 19:19:41

+0

当您调用下一个活动时将它传递到意图的额外。否则,请学习如何使用startActivityForResult – Snicolas 2012-04-26 19:22:29

回答

2
中的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 
}); 
+0

我得到此错误日历 日历无法解析或不是字段 – GuyWhoReadsStockoverflow 2012-04-26 19:46:05

+1

大声笑。所以你可以创建它! :)日食中的CTRL + 1 ... – Snicolas 2012-04-26 19:48:23

0
Calendar c = Calendar.getInstance(); 

CalendarCalendarView不同。 CalendarViewView的后裔,所以它有许多事件处理程序,如onClickListener。也许这就是你想要找到的东西?

+0

会像这样的工作: CalendarView calendarmy =(CalendarView)findViewById(R.id.calendarView1); – GuyWhoReadsStockoverflow 2012-04-26 19:38:01

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

这将显示用户选择的日期。

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

添加一个解释你做什么来解决问题将是有帮助的。 – 2014-02-24 05:54:30

+0

日期日期=新日期(cv);已被弃用。 – 2018-01-04 06:19:16

相关问题