Как сохранить и добавить заметку на конкретную дату в Android и изменить ее цвет после сохранения. Я хочу сохранить событие на конкретную дату, когда пользователь нажимает на конкретную дату, появляется диалоговое окно, в котором пользователь сохраняет некоторую заметку в тексте редактирования и нажимает кнопку Сохранить после.при сохранении на конкретную дату цвет этой даты изменяется и всегда изменяется до тех пор, пока примечание не будет удалено
import com.squareup.timessquare.CalendarCellDecorator;
import com.squareup.timessquare.CalendarPickerView;
import com.squareup.timessquare.DefaultDayViewAdapter;
public class timesquare extends AppCompatActivity {
CalendarPickerView datePicker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_timesquare);
getSupportActionBar().setTitle("WEEKLY GOALS");
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Date today = new Date();
Calendar nextYear = Calendar.getInstance();
nextYear.add(Calendar.YEAR, 1);
datePicker = findViewById(R.id.calendar);
datePicker.init(today, nextYear.getTime())
.inMode(CalendarPickerView.SelectionMode.RANGE)
.withSelectedDate(today);
datePicker.setOnDateSelectedListener(new CalendarPickerView.OnDateSelectedListener() {
@Override
public void onDateSelected(Date date) {
//String selectedDate = DateFormat.getDateInstance(DateFormat.FULL).format(date);
Calendar calSelected = Calendar.getInstance();
calSelected.setTime(date);
// String selectedDate = "" + calSelected.get(Calendar.DAY_OF_MONTH)
// + " " + (calSelected.get(Calendar.MONTH) + 1)
// + " " + calSelected.get(Calendar.YEAR);
// Toast.makeText(timesquare.this, selectedDate, Toast.LENGTH_SHORT).show();
dialog();
datePicker.clearHighlightedDates();
}
@Override
public void onDateUnselected(Date date) {
}
});
Calendar c = Calendar.getInstance();
c.setTime(new Date());
datePicker.setCustomDayView(new DefaultDayViewAdapter());
datePicker.setDecorators(Collections.<CalendarCellDecorator>emptyList());
// 20 years, enough to show performance failure.
datePicker.init(getDateWithYear(2000), getDateWithYear(2030))
.inMode(CalendarPickerView.SelectionMode.RANGE).withSelectedDate(c.getTime());
datePicker.highlightDates(getHighlightedDaysForMonth( // Adds some highlighted days
c.get(Calendar.MONTH) - 1, c.get(Calendar.MONTH), c.get(Calendar.MONTH) + 1));
/*datePicker.setCustomDayView(new DefaultDayViewAdapter());
Calendar todays = Calendar.getInstance();
ArrayList<Date> dates = new ArrayList<Date>();
for (int i = 0; i < 5; i++) {
todays.add(Calendar.DAY_OF_MONTH, 3);
dates.add(todays.getTime());
}
datePicker.setDecorators(Collections.<CalendarCellDecorator>emptyList());
datePicker.init(new Date(), nextYear.getTime()) //
.inMode(CalendarPickerView.SelectionMode.MULTIPLE) //
.withSelectedDates(dates);*/
}
private Date getDateWithYear(int year) {
final Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, 0);
cal.set(Calendar.DAY_OF_MONTH, 1);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
return cal.getTime();
}
private List<Date> getHighlightedDaysForMonth(int... month) {
List<Date> dateList = new ArrayList<>();
Calendar c = Calendar.getInstance();
c.setTime(new Date());
for (int i = 0; i < month.length; i++) {
for (int j = 0; j < 25; j++) {
dateList.add(getDateWithYearAndMonthForDay(c.get(Calendar.YEAR), i, j));
}
}
return dateList;
}
private Date getDateWithYearAndMonthForDay(int year, int month, int day) {
final Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month);
cal.set(Calendar.DAY_OF_MONTH, day);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
return cal.getTime();
}
public void dialog() {
CustomDialogClass cdd=new CustomDialogClass(timesquare.this);
cdd.show();
}
}
это действие в диалоговом окне
public class CustomDialogClass extends Dialog {
public Activity c;
public Dialog d;
public Button yes, no, rate_us;
public CustomDialogClass(Activity context) {
super(context);
this.c = context;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.custom_dialog);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
no = (Button) findViewById(R.id.submit);
no.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dismiss();
}
});
}
}
, и это диалоговое окно xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#138c93"
android:orientation="vertical"
android:weightSum="5">
<LinearLayout
android:layout_weight="2"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="center"
android:background="#138c93"
android:gravity="center"
android:orientation="horizontal"
android:weightSum="2">
<TextView
android:id="@+id/imageView2"
android:layout_width="200dp"
android:layout_height="60dp"
android:layout_weight=".7"
android:padding="10dp"
android:textAlignment="center"
android:text="Add task"
android:textColor="#FFFFFF"
android:textSize="18dp" />
</LinearLayout>
<LinearLayout
android:layout_weight="1"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="horizontal"
android:weightSum="4">
<TextView
android:layout_weight="1.5"
android:layout_width="0dp"
android:layout_height="60dp"
android:text="New note"
android:textColor="#FFFFFF"
android:textSize="20dp" />
<EditText
android:hint="note"
android:textColorHint="#FFFFFF"
android:textColor="#FFFFFF"
android:layout_weight="2.5"
android:layout_width="0dp"
android:layout_height="60dp" />
</LinearLayout>
<LinearLayout
android:layout_weight="1"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="horizontal"
android:weightSum="4">
<TextView
android:layout_weight="1.5"
android:layout_width="0dp"
android:layout_height="60dp"
android:text="New note"
android:textColor="#FFFFFF"
android:textSize="20dp" />
<EditText
android:hint="note"
android:textColorHint="#FFFFFF"
android:textColor="#FFFFFF"
android:layout_weight="2.5"
android:layout_width="0dp"
android:layout_height="60dp" />
</LinearLayout>
<RelativeLayout
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="25dp">
<Button
android:id="@+id/submit"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_centerInParent="true"
android:background="#fff"
android:text="ok"
android:textColor="#000"
android:textStyle="bold" />
</RelativeLayout>
</LinearLayout>