[問題] 如何指定RecyclerView當中的特定元件?
小魯最近卡在一個問題點。
想要做出像IG那樣明信片的外觀,然後能有類似按愛心後能填滿並將愛心換色。
但實作後發現在Adapter當中的Resource沒辦法指定
也就是說我沒辦法指定是哪個Position當中的元件去變換愛心,每次操作只會更新最後一
個
附上程式碼我額外在Adapter當中寫的程式碼。
private void initStar(Album_Adapter.ViewHolder holder,int position){
//連結資料庫,透過資料庫的紀錄判斷該相片是否已被按讚
DatabaseReference databaseRef = FirebaseDatabase.getInstance().getRefe
re
databaseRef.child(mKey.get(position)).child("Star").addValueEventListe
ne
@Override
public void onDataChange(@NonNull @NotNull DataSnapshot snapshot)
{
//若有責更改成實心圖案,並換色
if(snapshot.getValue(String.class).equals("onDone")){
System.out.println("in Adapter");
int icon_change = outline_star_black_24dp;
Star.setImageDrawable(holder.itemView.getResources().getDr
aw
int color = Color.parseColor("#FFC0CB");
Star.setColorFilter(color);
}else if (snapshot.getValue(String.class).equals("noDone")){
//若無則改成空洞圖案,病患色
int icon_change = outline_star_border_black_24dp;
int color = Color.parseColor("#C0C0C0");
Star.setImageDrawable(holder.itemView.getResources().getDr
aw
Star.setColorFilter(color);
}
}
@Override
public void onCancelled(@NonNull @NotNull DatabaseError error) {
}
});
}
這個Function是在onBindViewHolder當中呼叫的,也有確認過onClick的時候的position
是正確的,但就是沒辦法指定是哪個「Star」需要做換色。
若有大德之前解決過類似問題,拜託指教一下小魯QQ
--
Sent from my Windows
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 134.208.97.145 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1630845564.A.4B2.html
※ 編輯: lee16818 (223.137.131.164 臺灣), 09/05/2021 20:43:00
推
09/07 09:43,
3年前
, 1F
09/07 09:43, 1F
感謝大大,已解決!
推
09/09 07:50,
3年前
, 2F
09/09 07:50, 2F
→
09/09 07:50,
3年前
, 3F
09/09 07:50, 3F
Star是Resource的物件!
※ 編輯: lee16818 (223.137.131.164 臺灣), 09/12/2021 01:58:21
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章