CalenderView

时间:2017-09-12 15:28:30

标签: java android

我正在Android Studio中处理日历项目。当我点击日期时,它会打开一个新的活动。问题是如果已经选择了一个日期(比如当你打开一个日历时,你可以看到当前日期已被选中),当我点击它时,它没有给我回复。我怎么能改变这个。当我在Android虚拟设备中测试应用程序时,这不是问题,但是当我在手机中安装应用程序时,出现了这个问题。

检查我提供的照片,我选择的日期没有给出回复,但是当我在AVD上测试它时,如果我点击选定的日期,它会给我回复。

enter image description here

这是我的方法代码,它的工作原理如下,它首先检查在选定的日期是否保存了任何事件。如果是,那么它会打开一个显示事件的警告框,否则它会打开一个我可以保存事件的活动

    calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
        @Override
        public void onSelectedDayChange(@NonNull CalendarView calendarView, int i, int i1, int i2) {
            date = i2 + "" + i1 + "" + i;
            Date = Integer.parseInt(date);
            Log.e(TAG,"int date="+Date+"");
            Log.e(TAG,"string date="+date+"");
            //firstly check if an entry exists for the current date.
            Cursor res = myDb.getAllData();

            while(res.moveToNext()) {
                if (res.getInt(0) == Date) {    //only runs if it find the id for this date.
                    StringBuffer buffer = new StringBuffer();

                    buffer.append("Id :" + res.getString(0) + "\n");
                    buffer.append("Event Name :" + res.getString(1) + "\n");
                    buffer.append("Event Location :" + res.getString(2) + "\n");
                    buffer.append("Event Discription :" + res.getString(3) + "\n\n");

                    //when an id is present for event, than there must be an entry for attendees, So search by date(id) for attendees.
                    Cursor cursor = myDb2.getAllData();
                    while(cursor.moveToNext()) {
                        String test=cursor.getInt(0)+"";
                        if (test.contains(date)) {
                            Log.e(TAG,"it reached here");
                            buffer.append("Event Attendee :" + cursor.getString(1) + "\n\n");
                        }
                    }
                    // show message
                    showMessage("Data", buffer.toString());
                    return;
                }
            }
                //if no entry is found then pass the id as Date and shift to activity_date_selected activity ).
                intent = new Intent(MainActivity.this, dateSelected.class);
                    intent.putExtra("date message", Date);
                    intent.putExtra("day message", i2);
                    intent.putExtra("month message", i1);
                    intent.putExtra("year message", i);
                startActivity(intent);
        }
    });
}

请不要投票我的问题。我是stackoverflow和编程的新手。任何形式的帮助都会有用。

0 个答案:

没有答案