0

I am developing an app that will show AdMob Native Ad in Recycler View. I know how can I code the Recycler View adapter for it without any 3rd party libraries. But I am using fast adapter library and I don't know how can I show the ad in fast adapter.

The adapter class:

class AnAdapter : AbstractItem<AnAdapter.ViewHolder>() {

var id: String? = null
var name: String? = null

override val layoutRes: Int
    get() = R.layout.custom_item
override val type: Int
    get() = R.id.fastadapter_item_adapter

override fun getViewHolder(v: View): ViewHolder {
    return ViewHolder(v)
}

class ViewHolder(view: View) : FastAdapter.ViewHolder<AnAdapter>(view) {

    var tvName: TextView = view.findViewById(R.id.tvName)

    override fun bindView(item: AnAdapter, payloads: List<Any>) {
        tvName.text = item.name
    }

    override fun unbindView(item: AnAdapter) {
        tvName.text = null
    }
}

There is fragment:

class AnFragment : BaseFragment(R.layout.fragment_an) {

private val fastAnAdapter: FastItemAdapter<AnAdapter> = FastItemAdapter()
private val fastAdapter = FastAdapter.with(fastAnAdapter)

    ...

private fun prepareRecyclerView() {
    val layoutManager = LinearLayoutManager(context)

    rvAn.layoutManager = layoutManager
    rvAn.setHasFixedSize(true)
    rvAn.adapter = fastAdapter
    rvAn.itemAnimator = DefaultItemAnimator()
    fastAnAdapter.clear()
}

private fun fillRecycler(data: List<An>) {
    for (item in data) {
        val an = AnAdapter()
        an.id = item.id
        an.name = item.name

        fastAnAdapter.add(an)
    }
}

Is there any way to add Native Ad to the adapter with fast adapter?

4

0 回答 0