【问题标题】:How to update fragmentStateAdapter after a bottomSheet dismiss如何在bottomSheet关闭后更新fragmentStateAdapter
【发布时间】:2021-09-23 12:44:02
【问题描述】:

我有一个 fragmentStateAdapter,它保存着我的一些 卡片,以便在它们之间滑动:

public class ScreenSlidePagerAdapter(activity: AppCompatActivity, var items: ArrayList<Helpers.Card>, private val saveToDb: Boolean) : FragmentStateAdapter(activity) {
override fun getItemCount(): Int = items.count()
var fragment:CardItemFragment?=null
override fun createFragment(position: Int): Fragment{
    fragment =CardItemFragment(position, saveToDb ,this) //.newInstance( items[position ].getSaveString())
    return fragment as CardItemFragment
}}

CardItemFragement 是:

class CardItemFragment(val position:Int, val saveToDb: Boolean, val isCardMine: Boolean,val adapter: ScreenSlidePagerAdapter) : Fragment() {
    lateinit var cardView1: ConstraintLayout
    lateinit var crdNameTB1: TextView
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    val v = inflater.inflate(R.layout.card_item, container, false)
    cardView1 = v.findViewById(R.id.cardView1)
    crdNameTB1= v.findViewById(R.id.crdNameTB1)
    return v
  }

然后我可以像这样更新 fragementStateAdapter 中的 Card

 fun updateCard(): Bitmap? {
     crdNameTB1.text = .....
}

这很好,我可以在我的卡片之间滑动,但是当我通过 底页 更改我的 卡片 的“名称”属性的值以及当我关闭时BottomSheet 我用这段代码刷新了fragmentSatateAdapter

 MainActivity.galleryPagerAdapter?.fragment ?.updateCard()

我将 MyActivity 设置为 companion object 以便随时随地访问它。

执行此代码时,我得到 fragment 不是 null 对象,但 updateCard 给了我 null 对象 1有什么问题,我该如何解决这个问题并更新显示的卡片

【问题讨论】:

    标签: android fragmentstateadapter


    【解决方案1】:

    我通过重写以下方法以使适配器运行找到了答案

    override fun getItemId(position: Int): Long {return items[position].id}
    
    
    override fun containsItem(itemId: Long): Boolean = items.any { it.id == itemId }
    

    回复帖是here

    【讨论】:

      猜你喜欢
      • 2021-01-12
      • 2022-01-22
      • 2022-11-14
      • 2021-10-25
      • 2020-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-11
      相关资源
      最近更新 更多