我知道。靜態ViewHolder模式。那麼這個靜態Viewholder裏面的onClick模式是什麼?
public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener
static ViewHolder它的推薦。
也onClick()在ViewHolder構造函數中它的推薦,而不是在onBind()方法。
public ViewHolder(View v){
super(v);
v.setOnClickListener(this);
}
但知道我們有內部的onClick()的靜態ViewHolder類
public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
public ViewHolder(View v){
super(v);
v.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Log.d(TAG, "position = " + getAdapterPosition());
}
,現在是這一切的建議後,我的問題。
如果我想從此回收站和通知適配器中的列表中刪除項目,現在推薦使用什麼內容。
我的列表必須是靜態的OK .. 但是仍然無法在內部onClick()中使用notifyDataSetChanged();
對此有何建議?模式?或有用的例子會很好。 或你如何在你的項目中做到這一點。
thx!
如果我ViewHolder也不是一成不變的,我做同樣喜歡你。所以對我來說它是一個好方法。但我認爲這應該是靜態的,因爲避免對ViewHolder(Google示例https://developer.android.com/training/improving-layouts/smooth-scrolling.html等事件)的引用。我需要使用靜態和非靜態ViewHolder來測試性能。無論如何thx爲您的解釋! – Esperanz0
但你可以保持你的視圖的靜態,並且它總是一個很好的習慣。你可以在onbindviewholder()裏面註冊監聽器。 –
並使數據集列表靜態也會導致內存泄漏。 –