public class Calendar2 extends AppCompatActivity {
private final OneDayDecorator oneDayDecorator = new OneDayDecorator();
MaterialCalendarView materialCalendarView;
static final int REQ_ADD_CONTACT=1;
String data;
private FirebaseFirestore db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calendar);
<생략>
db = FirebaseFirestore.getInstance();
String dgKey = FirebaseAuth.getInstance().getCurrentUser().getUid()+"000";
db.collection("DiaryGroupList").document(dgKey)
.collection("diaryList").get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
//Toast.makeText(Calendar2.this,document.getData().get("date").toString(),Toast.LENGTH_LONG).show();
data=document.getData().get("date").toString();
TextView textViewNo = (TextView) findViewById(R.id.textViewNo);
textViewNo.setText(data);
}
if (data.size>0){
executeApiSumlator(data);
}
}
}
});
}
private void executeApiSumlator(dates: List<String>) {
ApiSimulator ApiSimulator = new ApiSimulator(dates);
ApiSimulator.execute();
}
class ApiSimulator extends AsyncTask<Void, Void, List<CalendarDay>> {
@Override
protected List<CalendarDay> doInBackground(@NonNull Void... voids) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
Calendar calendar = Calendar.getInstance();
ArrayList<CalendarDay> dates = new ArrayList<>();
/*특정날짜 달력에 점표시해주는곳*/
/*월은 0이 1월 년,일은 그대로*/
//string 문자열인 Time_Result 을 받아와서 ,를 기준으로짜르고 string을 int 로 변환
//calendar.set(year, month - 1, dayy);
CalendarDay day = CalendarDay.from(calendar);
Intent intent = getIntent();
String date = intent.getStringExtra("date");
Toast.makeText(Calendar2.this,date,Toast.LENGTH_LONG).show();
// date를 받아와서 20201129이면
// 2020을 int year로 저장
// 11을 int month로 저장
// 29를 int dayy로 저장 시켜야함 -> 현재 date 자체가 안받아와짐
dates.add(day);
return dates;
}
@Override
protected void onPostExecute(@NonNull List<CalendarDay> calendarDays) {
super.onPostExecute(calendarDays);
if (isFinishing()) {
return;
}
materialCalendarView.addDecorator(new EventDecorator(Color.RED, calendarDays, Calendar2.this));
}
}
}
적어주신 data.size부분에서 오류가 떠서 data.length()로 바꾸면 괜찮은데
private void executeApiSumlator(dates: List<String>) {
ApiSimulator ApiSimulator = new ApiSimulator(dates);
ApiSimulator.execute();
}
이부분이 문제가 생깁니다.
if (data.size>0){
executeApiSumlator(data);
}
여기서 data와 안맞는다고 계속 오류가 나네요....