cari

Rumah  >  Soal Jawab  >  teks badan

android - getLayoutPosition与getAdapterPosition

看了stackoverflow RecyclerView.ViewHolder - getLayoutPosition vs getAdapterPosition上的解释

然后又看了 它俩的源码的注释

还是没有分清它俩的具体区别

有没有人具体的说明一下??!

高洛峰高洛峰2888 hari yang lalu721

membalas semua(1)saya akan balas

  • 高洛峰

    高洛峰2017-04-17 17:47:11

    Apabila kandungan penyesuai berubah (dan anda menghubungi maklumkan*) RecyclerView meminta reka letak baharu Mulai saat itu, sehingga sistem susun atur memutuskan untuk mengira susun atur baharu (<16 ms). kedudukan susun atur dan kedudukan penyesuai mungkin tidak sepadan kerana susun atur belum menunjukkan perubahan penyesuai lagi.

    Jawapannya sangat jelas Perbezaan khusus ialah terdapat perbezaan masa antara kedudukan penyesuai dan reka letak (<16ms Jika anda menukar data Penyesuai dan kemudian menyegarkan paparan, ia akan berlaku). ambil sedikit masa untuk susun atur mengemas kini paparan Dalam tempoh ini, kedudukan yang dikembalikan oleh kedua-dua kaedah ini akan berbeza.

    Selain itu, jawapan juga menyebut bahawa kedudukan dalam Penyesuai tidak boleh diperolehi serta-merta selepas notifyDataSetChanged, dan hanya boleh diperolehi selepas susun atur selesai.

    Bagi kedudukan Layout, selepas notifyItemInserted, Layout tidak boleh mendapatkan kedudukan baharu serta-merta kerana susun atur belum dikemas kini (ia mengambil masa <16ms untuk menyegarkan paparan), jadi ia hanya boleh mendapatkan yang lama, tetapi Penyesuai Anda boleh mendapatkan kedudukan terkini dengan segera dengan mengklik kedudukan di dalamnya.

    Mengenai ini

    balas
    0
  • Batalbalas