在Android上创建多个日历活动

时间:2012-08-19 19:02:50

标签: java android events calendar

我有以下代码,当单击按钮时会创建一个事件。我想知道如何通过按下此按钮创建多个(Say 5)事件。谢谢你的帮助!

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //Button button = (Button)findViewById(R.id.button1);
   // button.setOnClickListener(this);
    final CheckBox checkBox = (CheckBox) findViewById(R.id.checkBox1);
    final CheckBox checkBox2 = (CheckBox) findViewById(R.id.checkBox2);


    final Button button = (Button) findViewById(R.id.button1);
    button.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v) {


             if (checkBox.isChecked()) {

                 { 

                SimpleDateFormat formatter = new SimpleDateFormat("MMMM dd, yyyy, h:mmaa"); 
                long lnsTime = 0, lneTime = 0;

                        Date dateObject;

                        try{
                        String dob_var = "August 16, 2012, 11:35PM";

                        dateObject = formatter.parse(dob_var);

                        lnsTime = dateObject.getTime();
                        Log.e(null, Long.toString(lnsTime));

                        dob_var = "August 16, 2012, 11:59PM";      

                        dateObject = formatter.parse(dob_var);

                        lneTime = dateObject.getTime();
                        Log.e(null, Long.toString(lneTime));
                        }

                        catch (java.text.ParseException e) 
                            {
                            // TODO Auto-generated catch block
                                e.printStackTrace();
                                Log.i("E11111111111", e.toString());
                            }

                     Intent intent = new Intent(Intent.ACTION_EDIT);

                         intent.setType("vnd.android.cursor.item/event");
                      intent.putExtra("title", "9:00AM Start");
                      intent.putExtra("description", "There will be a 9:00AM start tomorrow.");
                      intent.putExtra("eventLocation", "Chris' house");
                      intent.putExtra("beginTime", lnsTime);
                      intent.putExtra("endTime", lneTime);
                      startActivity(intent);

                 }



        } 

到目前为止,代码创建单个事件就好了,我只需创建多个,最好没有“保存/取消”屏幕。

1 个答案:

答案 0 :(得分:0)

单击该按钮时,可以对for循环执行一些迭代。

喜欢

for (int i = 0; i < YOUR_NUMBER_OF_EVENTS; i++)
    createCalendarEvent();

方法

createCalendarEvent();

是创建事件的一部分。这可以在单击按钮时直接完成,也可以在异步任务中完成,以防止GUI冻结和/或阻塞。

我尚未测试您的代码或教程中的代码,但您可以阅读本教程http://www.developer.com/ws/android/programming/Working-with-the-Android-Calendar-3850276.htm,了解如何在不启动新意图的情况下处理日历事件。 (来自帖子https://stackoverflow.com/a/3722180/1513735