pull/32/head
parent
0d8b9be12d
commit
381cf86bf0
@ -1,13 +1,48 @@ |
||||
package io.legado.app.ui.main.rss |
||||
|
||||
import android.view.LayoutInflater |
||||
import android.view.View |
||||
import android.view.ViewGroup |
||||
import androidx.paging.PagedListAdapter |
||||
import androidx.recyclerview.widget.DiffUtil |
||||
import androidx.recyclerview.widget.RecyclerView |
||||
import io.legado.app.R |
||||
import io.legado.app.data.entities.RssSource |
||||
|
||||
class RssAdapter { |
||||
class RssAdapter : PagedListAdapter<RssSource, RssAdapter.MyViewHolder>(DIFF_CALLBACK) { |
||||
|
||||
companion object { |
||||
@JvmField |
||||
val DIFF_CALLBACK = object : DiffUtil.ItemCallback<RssSource>() { |
||||
override fun areItemsTheSame(oldItem: RssSource, newItem: RssSource): Boolean = |
||||
oldItem.sourceUrl == newItem.sourceUrl |
||||
|
||||
override fun areContentsTheSame(oldItem: RssSource, newItem: RssSource): Boolean = |
||||
oldItem.sourceName == newItem.sourceName |
||||
} |
||||
} |
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder { |
||||
return MyViewHolder( |
||||
LayoutInflater.from(parent.context).inflate( |
||||
R.layout.item_rss, |
||||
parent, |
||||
false |
||||
) |
||||
) |
||||
} |
||||
|
||||
override fun onBindViewHolder(holder: MyViewHolder, position: Int) { |
||||
getItem(position)?.let { |
||||
holder.onBind(it) |
||||
} |
||||
} |
||||
|
||||
class MyViewHolder(view: View) : RecyclerView.ViewHolder(view) { |
||||
|
||||
fun onBind(rssSource: RssSource) { |
||||
|
||||
} |
||||
|
||||
} |
||||
} |
@ -0,0 +1,7 @@ |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:orientation="vertical" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="match_parent"> |
||||
|
||||
</LinearLayout> |
Loading…
Reference in new issue