-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FIX] week calendar #38
The head ref may contain hidden characters: "29-fix-\uC9C0\uB3C4-\uC5F0\uB3D9-\uBB38\uC81C-\uC218\uC815"
Changes from 12 commits
2d6d08c
aa41810
c88915e
c4479c5
70de991
cf38194
074d460
772b1c7
5db403d
bff83a1
c96723b
ef519f7
c66e6f1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
/build | ||
/build | ||
kakao_string.xml |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,38 +1,84 @@ | ||
package com.eatssu.android.ui.calendar | ||
|
||
import android.content.Intent | ||
import android.os.Build | ||
import android.os.Bundle | ||
import android.util.Log | ||
import android.view.LayoutInflater | ||
import android.view.View | ||
import android.view.ViewGroup | ||
import androidx.annotation.RequiresApi | ||
import androidx.core.content.ContextCompat | ||
import androidx.recyclerview.widget.RecyclerView | ||
import com.eatssu.android.R | ||
import com.eatssu.android.databinding.ItemCalendarListBinding | ||
import com.eatssu.android.ui.main.MainActivity | ||
import java.time.LocalDate | ||
import java.time.format.DateTimeFormatter | ||
import java.util.* | ||
|
||
|
||
class CalendarAdapter(private val cList: List<CalendarData>) : | ||
RecyclerView.Adapter<CalendarAdapter.CalendarViewHolder>() { | ||
private var allViewHolders : List<CalendarViewHolder> = mutableListOf() | ||
private var mListener: OnItemClickListener? = null | ||
|
||
class CalendarViewHolder(private val binding: ItemCalendarListBinding) : | ||
inner class CalendarViewHolder(val binding: ItemCalendarListBinding) : | ||
RecyclerView.ViewHolder(binding.root) { | ||
|
||
private var selectedDate: String? = null | ||
lateinit var today : String | ||
lateinit var day : String | ||
|
||
@RequiresApi(Build.VERSION_CODES.O) | ||
fun bind(item: CalendarData) { | ||
binding.date.text = item.cl_date | ||
binding.day.text = item.cl_day | ||
|
||
var today = binding.date.text | ||
var day = binding.day.text | ||
today = binding.date.text as String | ||
day = binding.day.text as String | ||
|
||
// 오늘 날짜 | ||
val now = LocalDate.now() | ||
.format(DateTimeFormatter.ofPattern("dd").withLocale(Locale.forLanguageTag("ko"))) | ||
.format( | ||
DateTimeFormatter.ofPattern("dd").withLocale(Locale.forLanguageTag("ko")) | ||
) | ||
|
||
// 오늘 날짜와 캘린더의 오늘 날짜가 같을 경우 background_blue 적용하기 | ||
if (today == now) { | ||
if (now.equals(today)) { | ||
binding.date.isSelected = true; | ||
binding.day.isSelected = true; | ||
binding.weekCardview.setBackgroundResource(R.drawable.selector_background_blue) | ||
} | ||
Log.i("now", now) | ||
/* | ||
binding.root.setOnClickListener { | ||
// Update the selectedDate to the clicked date | ||
selectedDate = today as String? | ||
// Update the background of the clicked date | ||
for(holder in allViewHolders){ | ||
holder.binding.weekCardview.setBackgroundResource(com.eatssu.android.R.drawable.ic_selector_background_white) | ||
Log.d("searchfor", holder.toString()) | ||
} | ||
selectedDate?.let { it1 -> Log.d("rootdata", it1) } | ||
val bundle : Bundle = Bundle() | ||
bundle.putString("calendardata", selectedDate) | ||
|
||
val intent = Intent(binding.root.context, MainActivity::class.java) | ||
intent.putExtra("calendardata", selectedDate) | ||
ContextCompat.startActivity(binding.root.context, intent, null) | ||
|
||
*//*val lunchFragment = LunchFragment() | ||
lunchFragment.arguments = bundle*//* | ||
|
||
*//*val caledarFragment = CalendarFragment() | ||
|
||
lateinit var dataPassListener : onDataPassListener | ||
|
||
dataPassListener = caledarFragment.context as onDataPassListener | ||
dataPassListener.onDataPass(selectedDate)*//* | ||
|
||
binding.weekCardview.setBackgroundResource(com.eatssu.android.R.drawable.selector_background_blue) | ||
}*/ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 여기는 혹시 나중에 쓰일 코드인가요? 아니면 평생 쓰이지 않을 코드인가용? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Adapter에 있을 코드를 MainActivity로 옮겨서 삭제할게요! |
||
} | ||
} | ||
|
||
|
@@ -45,9 +91,31 @@ class CalendarAdapter(private val cList: List<CalendarData>) : | |
@RequiresApi(Build.VERSION_CODES.O) | ||
override fun onBindViewHolder(holder: CalendarViewHolder, position: Int) { | ||
holder.bind(cList[position]) | ||
|
||
allViewHolders = allViewHolders.plus(holder) | ||
|
||
holder.itemView.setOnClickListener { v -> | ||
val pos = holder.adapterPosition | ||
if (pos != RecyclerView.NO_POSITION) { | ||
mListener?.onItemClick(v, cList.get(position)) | ||
} | ||
} | ||
|
||
} | ||
|
||
override fun getItemCount(): Int { | ||
return cList.size | ||
} | ||
|
||
fun setOnItemClickListener(listener: OnItemClickListener?) { | ||
mListener = listener | ||
} | ||
|
||
fun returnViewHolderList(): List<CalendarViewHolder> { | ||
return allViewHolders | ||
} | ||
} | ||
|
||
interface OnItemClickListener { | ||
fun onItemClick(v: View?, data: CalendarData) | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
package com.eatssu.android.ui.calendar | ||
|
||
import androidx.lifecycle.LiveData | ||
import androidx.lifecycle.MutableLiveData | ||
import androidx.lifecycle.ViewModel | ||
|
||
class CalendarViewModel : ViewModel() { | ||
private val data = MutableLiveData<String>() | ||
|
||
fun setData(dataToSend: String) { | ||
data.value = dataToSend | ||
} | ||
|
||
fun getData(): LiveData<String> { | ||
return data | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
package com.eatssu.android.ui.calendar | ||
|
||
class MenuDate(date: String){ | ||
var date: String = date // 날짜 | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
여기 as String을 붙여준 이유가 따로 있나요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
그 변환 가능한 속성이라서 String으로 자동 변환이 안된다는 오류 있어서 강제 변환 해줬습니당