android - isu muat semula recyclerview
仅有的幸福
仅有的幸福 2017-05-24 11:38:08
0
3
964

Mencipta recyclerview untuk menetapkan maklumat peribadi. Seperti yang ditunjukkan di bawah:

Kemudian selepas mengklik, gesaan akan muncul seperti yang ditunjukkan di bawah:

Selepas pemilihan selesai, pengguna memilih untuk mengesahkan atau membatalkan pemilihan, seperti yang ditunjukkan di bawah:

Selepas pemilihan disahkan, anda akan kembali ke recyclerview Bagaimana untuk mengemas kini perubahan ini? (Gambar ialah nilai lalai dalam fail xml. Bagaimanakah ia perlu dikemas kini kepada yang dipilih oleh pengguna?)

仅有的幸福
仅有的幸福

membalas semua(3)
漂亮男人

telah diselesaikan. Pada mulanya saya ingin mencari cara untuk menyegarkan recyclerview tanpa mengubah data set data. Tetapi akhirnya nampaknya tiada jalan lain.
Jadi saya mencipta kelas set data baharu (sangat biasa, kandungan data, set, dapatkan kaedah). Mulakan data dalam aktiviti memanggil recyclerview.
Sebab saya kembalikan aktiviti selepas memanggil kamera sistem. Oleh itu, kaedah baru dicipta dalam aktiviti untuk memanggil aktiviti yang menentukan antara muka dalam gambar di atas. Digunakan untuk memberitahu penyesuai recyclerview bahawa data item ini telah dikemas kini. Dalam penyesuai:

 mData.get(1).setAvatarUri(photoFile);
            mData.get(1).setType(2);
            notifyItemChanged(1);
            

Nah, ia betul-betul sama seperti dalam talian. (Saya harap seseorang yang mempunyai kaedah lain boleh menjawab dan memberi saya idea)

巴扎黑

Apa yang anda fikir terlalu rumit Menggunakan recyclerview agak berlebihan Anda perlu menulis lebih banyak kod. Hanya gunakan TextView terus.
Dalam xml:

<TextView
        android:drawableRight="@drawable/avatar"
        android:drawablePadding="10dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:textSize="16sp"
        android:text="头像"
        android:background="@color/white"
        android:gravity="center_vertical"
        android:layout_width="match_parent"
        android:layout_height="50dp" />
        

Selepas mengklik butang OK, gunakan:
setCompoundDrawables(Drawable left, Drawable top, Drawable right, Drawable bottom) untuk menetapkan avatar baharu

習慣沉默

Terdapat beberapa pelan yang anda boleh rujuk Apl kami melakukan perniagaan sebegini langkah demi langkah

.
  • Gunakan startActivityForResult() Selepas pemilihan imej selesai, hantar uri dan kedudukan ke aktiviti sebelumnya, kemudian tukar uri dalam data mengikut kedudukan dan muat semula data

    # 🎜🎜#
  • Gunakan siaran, sesuaikan siaran yang boleh menerima uri dan kedudukan, daftar di halaman senarai, hantar siaran selepas memilih gambar, dan kemudian beroperasi seperti di atas

  • Menggunakan bas acara, kami memilih EventBus, mendaftar Acara pada halaman senarai, dan menghantar mesej yang sepadan selepas memilih gambar

Kami pada mulanya menggunakan startActivityForResult dan menyiarkan terutamanya untuk mengelak daripada memperkenalkan perpustakaan pihak ketiga Pada masa yang sama, kedua-dua halaman tidak menghubungi satu sama lain secara langsung dan mengurangkan gandingannya, namun semakin banyak perniagaan yang serupa tempoh kemudian, seperti mengklik pada halaman butiran untuk mengumpul, Untuk menambah ulasan, halaman senarai perlu memuat semula bilangan ulasan dan koleksi... Menggunakan kedua-dua kaedah ini akan menyebabkan lebih banyak kod berlebihan, jadi kami memperkenalkan EventBus, yang bukan sahaja mengurangkan jumlah kod, tetapi juga meningkatkan kebolehbacaan kod Ia mengurangkan gandingan kod, dan perpustakaan ini agak kecil dan mudah untuk digunakan.
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan