我在每一行上都有一個帶有切換按鈕的列表視圖。在滾動列表視圖時得到了刷新,因此每次滾動時切換按鈕的值也會變化?停止ListView Cell在Android中滾動時刷新?
我要保留切換按鈕值或者ON/OFF,因爲它通過滾動前用戶設置?
我在每一行上都有一個帶有切換按鈕的列表視圖。在滾動列表視圖時得到了刷新,因此每次滾動時切換按鈕的值也會變化?停止ListView Cell在Android中滾動時刷新?
我要保留切換按鈕值或者ON/OFF,因爲它通過滾動前用戶設置?
當您切換您的按鈕,你也應該更新您的適配器的數據源。例如,如果您使用數組列表來填充適配器,則在切換按鈕時,您必須更新您的數組列表。如果你阻止行的循環也可以實現
防止列表視圖的刷新。
你應該設置你的ListView使用setChoiceMode()
(與CHOICE_MODE_SINGLE
或CHOICE_MODE_MULTIPLE
)和使用實現可勾選,這樣ListView控件會記住這行已經切換爲您自定義行佈局。
我詳細介紹瞭如何在CheckedTextView checkmark in ListView row not showing up之前創建一個自定義勾選的佈局。 (這並不難,這方法允許你使用任何內置適配器,而無需擴展它。)
On Scrolling the Listview got refreshed,
這是ListView
的defualt行爲。它實際上不刷新,ListView
只有在內存中可見(有一些偏移量)Views
。並摧毀他人。
I want to keep that Toggle button value
您需要跟蹤切換按鈕的狀態。 Like store Local
arrayList。並更新您的適配器的getView
方法中的togglebutton
狀態。
使用以下內容:這將照顧你的listView。
View vi = convertView;
if (convertView == null) {
vi = inflater.inflate(R.layout.layoutFile, null);
holder = new ViewHolder();
holder.layout1 = (LinearLayout) vi
.findViewById(R.id.layoutcourse);
holder.text = (TextView) vi.findViewById(R.id.text);
holder.status = (ImageView) vi.findViewById(R.id.img_status);
holder.date = (TextView) vi.findViewById(R.id.date1);
holder.toggleButton = (ImageView) vi
.findViewById(R.id.toggleButton);
vi.setTag(holder);
} else
holder = (ViewHolder) vi.getTag();
嘗試這種在getView功能
if (convertView != null) return convertView;
的第一行添加一些代碼,讓我們瞭解您到目前爲止試過... – AndroidLearner