2012-12-12 153 views
0

我用下面提到的代碼向用戶展示添加日曆事件屏幕。與android 2.3的android日曆事件問題

例如,以下內容將提示用戶是否應該創建具有某些細節的事件。

enter code here 
Intent intent = new Intent(Intent.ACTION_INSERT); 
intent.setData(CalendarContract.Events.CONTENT_URI); 
startActivity(intent); 
enter code here 

這部分工作正常與Android 4.0及以上,但不能在Android 2.3 ....工作? 我希望這可以在2.3到4.1之間的所有Android操作系統上工作。

感謝

回答

0

你可以使用這個,如果你還它與一些其他的方式做:爲壓延機

mCursor = getContentResolver().query(
CalendarContract.Events.CONTENT_URI, COLS, null, null, null); 

其ContentProvider的。

+0

你也可以參考這個鏈接:http://www.vogella.com/articles/AndroidCalendar/article.html –

+0

這將工作與android 2.3 ?? – user1160329

+0

是的,它會工作 –

0
public class Main extends Activity implements OnClickListener{ 
private Cursor mCursor = null; 
private static final String[] COLS = new String[] 
{ CalendarContract.Events.TITLE, CalendarContract.Events.DTSTART}; 
} 

現在我們需要重寫on create方法。請特別注意我們如何填充數據庫遊標。這是我們需要我們以前定義的COLS常量的地方。您還會注意到,在數據庫遊標初始化並設置了click處理程序回調後,我們繼續並手動調用on click處理程序。這個快捷方式使我們能夠在不必重複代碼的情況下填寫我們的UI。

Main.java 
@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
mCursor = getContentResolver().query(
CalendarContract.Events.CONTENT_URI, COLS, null, null, null); 
mCursor.moveToFirst(); 
Button b = (Button)findViewById(R.id.next); 
b.setOnClickListener(this); 
b = (Button)findViewById(R.id.previous); 
b.setOnClickListener(this); 
onClick(findViewById(R.id.previous)); 
} 

在我們的回調中,我們將操縱光標到數據庫中正確的條目並更新UI。

@Override 
public void onClick(View v) { 
TextView tv = (TextView)findViewById(R.id.data); 
String title = "N/A"; 
Long start = 0L; 
switch(v.getId()) { 
case R.id.next: 
if(!mCursor.isLast()) mCursor.moveToNext(); 
break; 
case R.id.previous: 
if(!mCursor.isFirst()) mCursor.moveToPrevious(); 
break; 
} 
Format df = DateFormat.getDateFormat(this); 
Format tf = DateFormat.getTimeFormat(this); 
try { 
title = mCursor.getString(0); 
start = mCursor.getLong(1); 
} catch (Exception e) { 
//ignore 
} 
tv.setText(title+" on "+df.format(start)+" at "+tf.format(start)); 
} 
+0

不工作在2.3 :( –