Skip to content
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

Feat : 공지사항 단 건 조회 웹 뷰 구현 #168

Merged
merged 9 commits into from
Feb 27, 2024
1 change: 1 addition & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ android {
}
buildFeatures {
dataBinding true
viewBinding true
}
namespace 'com.dongyang.android.youdongknowme'
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,28 +11,4 @@ data class Notice(
val date: String,
@SerializedName("url")
val url: String,
)

data class NoticeDetail(
@SerializedName("num")
var num: Int,
@SerializedName("title")
var title: String,
@SerializedName("writer")
var writer: String,
@SerializedName("date")
var date: String,
@SerializedName("content")
var content: String,
@SerializedName("img_url")
var imgUrl : List<String>,
@SerializedName("file_url")
var fileUrl : List<NoticeFileUrl>
)

data class NoticeFileUrl(
@SerializedName("url")
var url: String,
@SerializedName("name")
var name: String
)

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import com.dongyang.android.youdongknowme.data.local.entity.KeywordEntity
import com.dongyang.android.youdongknowme.data.repository.AlarmRepository
import com.dongyang.android.youdongknowme.data.repository.CafeteriaRepository
import com.dongyang.android.youdongknowme.data.repository.DepartRepository
import com.dongyang.android.youdongknowme.data.repository.DetailRepository
import com.dongyang.android.youdongknowme.data.repository.KeywordRepository
import com.dongyang.android.youdongknowme.data.repository.NoticeRepository
import com.dongyang.android.youdongknowme.data.repository.ScheduleRepository
Expand All @@ -32,6 +31,7 @@ import kotlinx.coroutines.Dispatchers.IO
import kotlinx.coroutines.launch
import org.koin.android.ext.koin.androidContext
import org.koin.androidx.viewmodel.dsl.viewModel
import org.koin.core.scope.get
import org.koin.dsl.module

val databaseModule = module {
Expand Down Expand Up @@ -76,7 +76,7 @@ val viewModelModule = module {
SettingViewModel(get())
}
viewModel {
DetailViewModel(get())
DetailViewModel()
}
viewModel {
SplashViewModel(get())
Expand Down Expand Up @@ -105,9 +105,6 @@ val repositoryModule = module {
single {
NoticeRepository(get())
}
single {
DetailRepository(get())
}
single {
SplashRepository()
}
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,12 @@ import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.dongyang.android.youdongknowme.data.remote.entity.Notice
import com.dongyang.android.youdongknowme.databinding.ItemNoticeBinding
import com.dongyang.android.youdongknowme.ui.view.notice.NoticeClickListener
import com.dongyang.android.youdongknowme.ui.viewholder.NoticeViewHolder

class NoticeAdapter : RecyclerView.Adapter<NoticeAdapter.ViewHolder>() {
class NoticeAdapter(private val clickListener: (url: String) -> Unit) :
RecyclerView.Adapter<NoticeViewHolder>() {

init {
setHasStableIds(true)
}

private var noticeList = arrayListOf<Notice>()
private var itemClickListener: NoticeClickListener? = null
private val noticeList = arrayListOf<Notice>()

@SuppressLint("NotifyDataSetChanged")
fun submitList(item: List<Notice>) {
Expand All @@ -24,35 +20,17 @@ class NoticeAdapter : RecyclerView.Adapter<NoticeAdapter.ViewHolder>() {
notifyDataSetChanged()
}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
return ViewHolder(
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): NoticeViewHolder {
return NoticeViewHolder(
ItemNoticeBinding.inflate(
LayoutInflater.from(parent.context), parent, false
)
), clickListener
)
}

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
override fun onBindViewHolder(holder: NoticeViewHolder, position: Int) {
holder.bind(noticeList[position])
}

override fun getItemId(position: Int): Long {
return position.toLong()
}

override fun getItemCount(): Int = noticeList.size

fun setItemClickListener(listener: NoticeClickListener) {
itemClickListener = listener
}

class ViewHolder(private val binding: ItemNoticeBinding) :
RecyclerView.ViewHolder(binding.root) {

fun bind(item: Notice) {
binding.tvNoticeTitle.text = item.title
binding.tvNoticeDate.text = item.date
binding.tvNoticeAuthor.text = item.author
}
}
}
Loading
Loading