Use article cards list in adapter
This commit is contained in:
parent
3e3f53accd
commit
2a40bb7d97
3 changed files with 43 additions and 9 deletions
3
app/src/main/java/com/causa_arcana/ArticleCard.kt
Normal file
3
app/src/main/java/com/causa_arcana/ArticleCard.kt
Normal file
|
@ -0,0 +1,3 @@
|
|||
package com.causa_arcana
|
||||
|
||||
class ArticleCard(val id: ArticleId, val title: String, val summary: String)
|
|
@ -9,6 +9,36 @@ import androidx.recyclerview.widget.RecyclerView
|
|||
class ArticleCardsListRecyclerAdapter(private val onItemClick: () -> Unit) :
|
||||
RecyclerView.Adapter<ArticleCardsListRecyclerAdapter.ViewHolder>()
|
||||
{
|
||||
private val articleCardsList = listOf(
|
||||
ArticleCard(
|
||||
ArticleId(2021u, 8u, 6u, "writing-about-it"),
|
||||
"Почему сложно писать о передовых информационных технологиях?",
|
||||
"""
|
||||
Однажды мы выпустили статью “Децентрализованные сервисы против распределённых”, где
|
||||
предприняли попытку подтолкнуть читателей к более обдуманному отношению к терминам,
|
||||
таким как “централизованный”, “децентрализованный” и “распределённый”. Это имее...
|
||||
""".replace("\\s+".toRegex(), " "),
|
||||
),
|
||||
ArticleCard(
|
||||
ArticleId(2020u, 6u, 4u, "decentralized-vs-distributed"),
|
||||
"Децентрализованные сервисы против распределённых",
|
||||
"""
|
||||
Более правильная, но менее известная схема, показывающая разницу между
|
||||
централизованными, децентрализованными и распределёнными сетями. В данной статье я
|
||||
расскажу про два подхода к созданию сервисов, не зависящих от единственно...
|
||||
""".replace("\\s+".toRegex(), " "),
|
||||
),
|
||||
ArticleCard(
|
||||
ArticleId(2021u, 7u, 28u, "yggdrasil"),
|
||||
"Заметки об Yggdrasil: качество кода, безопасность, DNS",
|
||||
"""
|
||||
Сейчас сложно продвигать сеть Yggdrasil для массового использования. Она сложна для
|
||||
обычного пользователя, поскольку требует настройки. Она не даёт новых возможностей
|
||||
обхода наиболее часто применяемых механизмов государственных блокировок Интернет...
|
||||
""".replace("\\s+".toRegex(), " "),
|
||||
),
|
||||
)
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
|
||||
return ViewHolder(
|
||||
LayoutInflater.from(parent.context)
|
||||
|
@ -17,25 +47,26 @@ class ArticleCardsListRecyclerAdapter(private val onItemClick: () -> Unit) :
|
|||
}
|
||||
|
||||
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
|
||||
holder.titleTextView?.text = when (position) {
|
||||
0 -> "Foo"
|
||||
1 -> "Bar"
|
||||
2 -> "Car"
|
||||
else -> null
|
||||
}
|
||||
val articleCard = articleCardsList[position]
|
||||
|
||||
holder.titleTextView?.text = articleCard.title
|
||||
holder.summaryTextView?.text = articleCard.summary
|
||||
}
|
||||
|
||||
override fun getItemCount(): Int {
|
||||
return 3
|
||||
return articleCardsList.size
|
||||
}
|
||||
|
||||
class ViewHolder(itemView: View, private val onClick: () -> Unit):
|
||||
RecyclerView.ViewHolder(itemView)
|
||||
{
|
||||
var titleTextView: TextView? = null
|
||||
var summaryTextView: TextView? = null
|
||||
|
||||
init {
|
||||
titleTextView = itemView.findViewById(R.id.rvitem_article_card__title_text_view)
|
||||
titleTextView = itemView.findViewById(R.id.rvitem_article_card__title_text_view)
|
||||
summaryTextView = itemView.findViewById(R.id.rvitem_article_card__summary_text_view)
|
||||
|
||||
itemView.setOnClickListener { onClick() }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
android:id="@+id/rvitem_article_card__summary_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed a massa nulla."/>
|
||||
tools:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed a massa nulla."/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
|
Reference in a new issue