I have a class retrieving data from user's calendar, where I test the event title for displaying info, if data is empty, then print a message saying no upcoming events. Printing a valid event is working properly, but when there's no calendar event it won't return the that the data is empty. Here are some codes:
public class CalendarEventFragment extends Fragment {
private static final String TAG = "CalendarEventFragment";
private TextView mEventDate;
private TextView mDivider;
private TextView mEventTime;
private TextView mEventTitle;
//event data
List<CalendarEvent> mCalendarEvents;
String mDateString;
String mTimeString;
String mTitleString;
public CalendarEventFragment() {
}
public CalendarEventFragment(List<CalendarEvent> calendarEvents, int i) {
mCalendarEvents = calendarEvents;
mDateString = calendarEvents.get(i).getmEventDate() + "/" +
calendarEvents.get(i).getmEventMonth() + "/" +
calendarEvents.get(i).getmEventYear();
mTimeString = calendarEvents.get(i).getmEventStartTime();
mTitleString = calendarEvents.get(i).getmEventTitle();
}
private boolean checkData() {
return mDateString != null || mTimeString != null || mTitleString != null;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.widget_calendar, container, false);
Log.e(TAG, "cal created");
mEventDate = (TextView) root.findViewById(R.id.event_date);
mDivider = (TextView) root.findViewById(R.id.divider);
mEventTime = (TextView) root.findViewById(R.id.event_time);
mEventTitle = (TextView) root.findViewById(R.id.event_title);
mEventDate.setText(mDateString);
mEventTime.setText(mTimeString);
if(mTitleString != null) {
mEventTitle.setText(mTitleString);
}else{
mEventTitle.setText(getString(R.string.null_calendar_data));
}
return root;
}
}