aboutsummaryrefslogtreecommitdiff
path: root/src/com/android/tv/menu/ItemListRowView.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/tv/menu/ItemListRowView.java')
-rw-r--r--src/com/android/tv/menu/ItemListRowView.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/com/android/tv/menu/ItemListRowView.java b/src/com/android/tv/menu/ItemListRowView.java
index 4919c595..01257628 100644
--- a/src/com/android/tv/menu/ItemListRowView.java
+++ b/src/com/android/tv/menu/ItemListRowView.java
@@ -28,6 +28,7 @@ import android.view.ViewGroup;
import com.android.tv.MainActivity;
import com.android.tv.R;
+import com.android.tv.util.ViewCache;
import java.util.Collections;
import java.util.List;
@@ -194,9 +195,20 @@ public class ItemListRowView extends MenuRowView implements OnChildSelectedListe
return mItemList.size();
}
+ /**
+ * Returns the position of the item.
+ */
+ protected int getItemPosition(T item) {
+ return mItemList.indexOf(item);
+ }
+
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- View view = mLayoutInflater.inflate(getLayoutResId(viewType), parent, false);
+ int resId = getLayoutResId(viewType);
+ View view = ViewCache.getInstance().getView(resId);
+ if (view == null) {
+ view = mLayoutInflater.inflate(resId, parent, false);
+ }
return new MyViewHolder(view);
}