2012-08-28 9 views
7

enter image description hereCách thêm sự kiện trong lịch mặc định của Android 4.0?

Trong lịch mặc định Android 4.0 nếu chúng ta muốn chuyển sang tháng sau, chúng tôi cần di chuyển lịch nhưng tôi cần chuyển sang tháng tiếp theo hoặc tháng trước bằng cách nhấn mũi tên tồn tại trong hình trên. Và tôi cũng muốn thêm vào lịch mặc định. Nếu thêm sự kiện thì ngày đó phải được đánh dấu như trong hình ảnh.

Tôi đã sử dụng Chế độ xem lịch này.

<CalendarView 
    android:id="@+id/calendarView1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" /> 

Tôi muốn biết cách sử dụng thêm sự kiện vào Lịch nàyXem thực tế.

+0

http://stackoverflow.com/a/7892512/1037074 Đây là những gì bạn sẽ cần – adam2510

+0

@ adam2510 Trong 4,0 trực tiếp chúng tôi kéo và thả xem lịch và sau đó cách thêm sự kiện vào đó. Nhưng trong mã đã cho không có mã liên quan đến điều này. – Venkat

+0

Điều này có thể giúp https://developer.android.com/guide/topics/providers/calendar-provider.html tham gia vào phần Cập nhật sự kiện – adam2510

Trả lời

7

Để chuyển sang tháng tiếp theo hoặc trước đó bạn có thể sử dụng mã này:

mButtonNext = (Button) findViewById(R.id.buttonNext); 
    mButtonNext.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Calendar cal = new GregorianCalendar(); 
      cal.setTimeInMillis(mCalendarView.getDate()); 
      cal.add(Calendar.MONTH, 1); 
      mCalendarView.setDate(cal.getTimeInMillis(), true, true); 
     } 
    }); 

    mButtonPrevious = (Button) findViewById(R.id.buttonPrevious); 
    mButtonPrevious.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Calendar cal = new GregorianCalendar(); 
      cal.setTimeInMillis(mCalendarView.getDate()); 
      cal.add(Calendar.MONTH, -1);     
      mCalendarView.setDate(cal.getTimeInMillis(), true, true); 
     } 
    }); 

Nếu bạn muốn thêm một sự kiện trong lịch mặc định, bạn có để xem liên kết @ adam2510 đăng. Đây là một mã số mẫu mà bạn có thể sử dụng:

public void addEvent() { 
    ContentResolver cr = mContext.getContentResolver(); 
    ContentValues eventValues = new ContentValues(); 
    eventValues.put(Events.TITLE, "title"); 
    eventValues.put(Events.EVENT_LOCATION, "location"); 
    eventValues.put(Events.DTSTART, startTimeMilliseconds); 
    eventValues.put(Events.DTEND, endTimeMilliseconds); 
    eventValues.put(Events.CALENDAR_ID, "1");//Defaul calendar 
    eventValues.put(Events.EVENT_TIMEZONE, TimeZone.SHORT); 
    cr.insert(Events.CONTENT_URI, eventValues); 
} 

Nhưng CalendarView không được thực hiện để được sử dụng với các sự kiện. Trong tài liệu Android, bạn có thể đọc điều này cho CalendarView:

"Lớp này là tiện ích con lịch để hiển thị và chọn ngày".

Tôi không thể tìm thấy cách dễ dàng để thay đổi thuộc tính ô.
Nếu bạn muốn thêm sự kiện vào caledar của chính mình thì tốt hơn là triển khai lịch của riêng bạn, nơi bạn có thể thay đổi tất cả các thuộc tính của chế độ xem. Có rất nhiều hiện thực lịch bạn có thể tìm thấy trong google.com