我有一個在RecyclerView列表中的CardView中顯示的int變量。該值使用TextView顯示。一旦該值用於填充OnBindViewHolder中的TextView,我該如何凍結/永久保存該值,以便下次在下一次創建CardView時運行onBondViewHolder時不會更改?Android:我如何讓一個整型變量的值在CardView/RecyclerView中變成固定/永久的?
「cardNumsTotal」是在ViewHolder中創建的TextView。
「dblist」是ArrayList,顯示RecyclerView中的模型數據。
「getCardNum」是來自SQLite數據庫的整數數據的getter。它是一個計數器,因此每次爲RecyclerView列表創建新的CardView時,CardNum都會加1。
下面的代碼,我顯示了一些不正確的例子,我正在嘗試實現的正確例子。我已經在ViewHolder和OnBindViewholder中的TextView上嘗試了setFreezesText(true),但沒有運氣。當前錯誤是onBindViewHolder正在更新所有CardView的所有TextView,其CardDum的值爲,當前值爲。基本上,我希望CardView的TextView在創建每個CardView的時候使用CardNum整數的值填充。由於CardNum是一個計數器,所以我應該看到CardView#正在相繼形成:1,2,3,4,5 ... CardView的順序是從RecyclerView列表的最上面到最老的。所以,如果創建了五個CardView,我應該在頂部看到5號卡,然後是4,3,2,1。
Adapter.java
...
public class ListViewHolder extends RecyclerView.ViewHolder {
TextView cardNumstotal;
public ListViewHolder(View itemView) {
super(itemView);
cardNumstotal = (TextView)itemView.findViewById(R.id.cardNumstotal);
}
}
...
@Override
public void onBindViewHolder(final ListViewHolder holder, final int position) {
holder.cardNumstotal.setText(String.valueOf(dbList.get(position).getCardnum()));
}
這是否意味着:如果更新然後轉換爲布爾值(固定)? – AJW
不工作。先前的CardView的TextView是空白的。最近創建的CardView的TextView正確填充。 – AJW
我認爲上面的布爾值只是幫助顯示TextView上的當前Cardnum總數,但之前的TextView被忽略。 – AJW