0

我在对话框中添加了一个日历视图。单击按钮时会出现对话框。我面临的问题是,当对话框出现时,日历视图不会在顶部显示当前月份和年份。但是当我更改月份时,会出现顶部的月份和年份(也适用于当前月份)。我想在初始对话节目中展示这个月和年。请帮助我。提前致谢。

我没有足够的声誉来发布屏幕截图。非常遗憾。

这是代码:

date.setOnClickListener(new OnClickListener() {         
        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            LayoutInflater inflater = (LayoutInflater)getApplicationContext().getSystemService
                      (Context.LAYOUT_INFLATER_SERVICE);
            RelativeLayout ll= (RelativeLayout)inflater.inflate(R.layout.calendar_dialog, null, false);
            final CalendarView cv = (CalendarView) ll.getChildAt(0);
            cv.setOnDateChangeListener(new OnDateChangeListener() {
                @Override
                public void onSelectedDayChange(CalendarView view, int year, int month,
                        int dayOfMonth) {
                    // TODO Auto-generated method stub
                    String date = dayOfMonth+"/"+(month+1)+"/"+year;
                    filterNews(date);
                }
            });

            AlertDialog.Builder builder = new AlertDialog.Builder(FirstView.this, AlertDialog.THEME_HOLO_DARK);
            builder.setTitle("News Calendar")
                .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                        // Do nothing.
                    }
                }
            );
            AlertDialog alertDialog = builder.create();
            alertDialog.show();         
        }
    });

日期是一个按钮。

4

3 回答 3

0
final Calendar c = Calendar.getInstance();
        maxyear = c.get(Calendar.YEAR);
        maxmonth = c.get(Calendar.MONTH);
        maxday = c.get(Calendar.DAY_OF_MONTH);


DatePickerDialog _date =   new DatePickerDialog(this, datePickerListener, maxyear,maxmonth,
                    maxday)
于 2015-01-08T12:41:17.853 回答
0

只是一个CalendarView可以应用于对话框的简短示例:

CalendarView calendar;

@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.main);
   calendar = (CalendarView) findViewById(R.id.calendar);
   calendar.setOnDateChangeListener(new OnDateChangeListener() {

      @Override
      public void onSelectedDayChange(CalendarView view,
      int year, int month, int dayOfMonth) {
      Toast.makeText(getApplicationContext(), dayOfMonth +"/"+month+"/"+ year,Toast.LENGTH_LONG).show();}});
}
于 2015-01-08T12:51:56.393 回答
0
   <CalendarView
    android:id="@+id/calendar"
    android:layout_margin="10dp"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

在 Xml 文件中使用并在清单中您应该更改

android:minSdkVersion="11"

Callendar 视图需要 api 11 :)

于 2015-01-08T13:47:11.007 回答