ItemClickedListener -> ItemViewClickedListener

Bug 19514090

Change-Id: Icf14e483b95d1bf5d57af9f27d977b0fdb686e67
This commit is contained in:
Dake Gu
2015-02-25 15:39:17 -08:00
parent fe07a079ca
commit 69cabd12e6
2 changed files with 55 additions and 38 deletions

View File

@@ -19,8 +19,10 @@ import android.support.v17.leanback.widget.ArrayObjectAdapter;
import android.support.v17.leanback.widget.HeaderItem; import android.support.v17.leanback.widget.HeaderItem;
import android.support.v17.leanback.widget.ListRow; import android.support.v17.leanback.widget.ListRow;
import android.support.v17.leanback.widget.ListRowPresenter; import android.support.v17.leanback.widget.ListRowPresenter;
import android.support.v17.leanback.widget.OnItemClickedListener; import android.support.v17.leanback.widget.OnItemViewClickedListener;
import android.support.v17.leanback.widget.Presenter;
import android.support.v17.leanback.widget.Row; import android.support.v17.leanback.widget.Row;
import android.support.v17.leanback.widget.RowPresenter;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.os.Handler; import android.os.Handler;
@@ -37,9 +39,9 @@ public class BrowseAnimationFragment extends
static class Item { static class Item {
final String mText; final String mText;
final OnItemClickedListener mAction; final OnItemViewClickedListener mAction;
Item(String text, OnItemClickedListener action) { Item(String text, OnItemViewClickedListener action) {
mText = text; mText = text;
mAction = action; mAction = action;
} }
@@ -69,7 +71,7 @@ public class BrowseAnimationFragment extends
}); });
setupRows(); setupRows();
setOnItemClickedListener(new ItemClickedListener()); setOnItemViewClickedListener(new ItemViewClickedListener());
} }
private void setupRows() { private void setupRows() {
@@ -86,9 +88,10 @@ public class BrowseAnimationFragment extends
switch (sRand.nextInt(15)) { switch (sRand.nextInt(15)) {
default: default:
case 0: case 0:
return new Item("Remove Item before", new OnItemClickedListener() { return new Item("Remove Item before", new OnItemViewClickedListener() {
@Override @Override
public void onItemClicked(Object item, Row row) { public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row) ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row)
.getAdapter()); .getAdapter());
int index = adapter.indexOf(item); int index = adapter.indexOf(item);
@@ -100,9 +103,10 @@ public class BrowseAnimationFragment extends
} }
}); });
case 1: case 1:
return new Item("Remove Item after", new OnItemClickedListener() { return new Item("Remove Item after", new OnItemViewClickedListener() {
@Override @Override
public void onItemClicked(Object item, Row row) { public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row) ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row)
.getAdapter()); .getAdapter());
int index = adapter.indexOf(item); int index = adapter.indexOf(item);
@@ -114,9 +118,10 @@ public class BrowseAnimationFragment extends
} }
}); });
case 2: case 2:
return new Item("Remove Item", new OnItemClickedListener() { return new Item("Remove Item", new OnItemViewClickedListener() {
@Override @Override
public void onItemClicked(Object item, Row row) { public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row) ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row)
.getAdapter()); .getAdapter());
int index = adapter.indexOf(item); int index = adapter.indexOf(item);
@@ -126,18 +131,20 @@ public class BrowseAnimationFragment extends
} }
}); });
case 3: case 3:
return new Item("Remove all Items", new OnItemClickedListener() { return new Item("Remove all Items", new OnItemViewClickedListener() {
@Override @Override
public void onItemClicked(Object item, Row row) { public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row) ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row)
.getAdapter()); .getAdapter());
adapter.clear(); adapter.clear();
} }
}); });
case 4: case 4:
return new Item("add item before", new OnItemClickedListener() { return new Item("add item before", new OnItemViewClickedListener() {
@Override @Override
public void onItemClicked(Object item, Row row) { public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row) ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row)
.getAdapter()); .getAdapter());
int index = adapter.indexOf(item); int index = adapter.indexOf(item);
@@ -147,9 +154,10 @@ public class BrowseAnimationFragment extends
} }
}); });
case 5: case 5:
return new Item("add item after", new OnItemClickedListener() { return new Item("add item after", new OnItemViewClickedListener() {
@Override @Override
public void onItemClicked(Object item, Row row) { public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row) ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row)
.getAdapter()); .getAdapter());
int index = adapter.indexOf(item); int index = adapter.indexOf(item);
@@ -160,9 +168,10 @@ public class BrowseAnimationFragment extends
}); });
case 6: case 6:
return new Item("add random items before", return new Item("add random items before",
new OnItemClickedListener() { new OnItemViewClickedListener() {
@Override @Override
public void onItemClicked(Object item, Row row) { public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row) ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row)
.getAdapter()); .getAdapter());
int index = adapter.indexOf(item); int index = adapter.indexOf(item);
@@ -176,9 +185,10 @@ public class BrowseAnimationFragment extends
}); });
case 7: case 7:
return new Item("add random items after", return new Item("add random items after",
new OnItemClickedListener() { new OnItemViewClickedListener() {
@Override @Override
public void onItemClicked(Object item, Row row) { public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row) ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row)
.getAdapter()); .getAdapter());
int index = adapter.indexOf(item); int index = adapter.indexOf(item);
@@ -192,9 +202,10 @@ public class BrowseAnimationFragment extends
} }
}); });
case 8: case 8:
return new Item("add row before", new OnItemClickedListener() { return new Item("add row before", new OnItemViewClickedListener() {
@Override @Override
public void onItemClicked(Object item, Row row) { public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
int index = mRowsAdapter.indexOf(row); int index = mRowsAdapter.indexOf(row);
if (index >= 0) { if (index >= 0) {
int headerId = sRand.nextInt(); int headerId = sRand.nextInt();
@@ -204,9 +215,10 @@ public class BrowseAnimationFragment extends
} }
}); });
case 9: case 9:
return new Item("add row after", new OnItemClickedListener() { return new Item("add row after", new OnItemViewClickedListener() {
@Override @Override
public void onItemClicked(Object item, Row row) { public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
int index = mRowsAdapter.indexOf(row); int index = mRowsAdapter.indexOf(row);
if (index >= 0) { if (index >= 0) {
int headerId = sRand.nextInt(); int headerId = sRand.nextInt();
@@ -217,16 +229,18 @@ public class BrowseAnimationFragment extends
} }
}); });
case 10: case 10:
return new Item("delete row", new OnItemClickedListener() { return new Item("delete row", new OnItemViewClickedListener() {
@Override @Override
public void onItemClicked(Object item, Row row) { public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
mRowsAdapter.remove(row); mRowsAdapter.remove(row);
} }
}); });
case 11: case 11:
return new Item("delete row before", new OnItemClickedListener() { return new Item("delete row before", new OnItemViewClickedListener() {
@Override @Override
public void onItemClicked(Object item, Row row) { public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
int index = mRowsAdapter.indexOf(row); int index = mRowsAdapter.indexOf(row);
if (index > 0) { if (index > 0) {
mRowsAdapter.removeItems(index - 1, 1); mRowsAdapter.removeItems(index - 1, 1);
@@ -234,9 +248,10 @@ public class BrowseAnimationFragment extends
} }
}); });
case 12: case 12:
return new Item("delete row after", new OnItemClickedListener() { return new Item("delete row after", new OnItemViewClickedListener() {
@Override @Override
public void onItemClicked(Object item, Row row) { public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
int index = mRowsAdapter.indexOf(row); int index = mRowsAdapter.indexOf(row);
if (index < mRowsAdapter.size() - 1) { if (index < mRowsAdapter.size() - 1) {
mRowsAdapter.removeItems(index + 1, 1); mRowsAdapter.removeItems(index + 1, 1);
@@ -244,9 +259,10 @@ public class BrowseAnimationFragment extends
} }
}); });
case 13: case 13:
return new Item("Replace Item before", new OnItemClickedListener() { return new Item("Replace Item before", new OnItemViewClickedListener() {
@Override @Override
public void onItemClicked(Object item, Row row) { public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row) ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row)
.getAdapter()); .getAdapter());
int index = adapter.indexOf(item); int index = adapter.indexOf(item);
@@ -258,9 +274,10 @@ public class BrowseAnimationFragment extends
} }
}); });
case 14: case 14:
return new Item("Remove all then re-add", new OnItemClickedListener() { return new Item("Remove all then re-add", new OnItemViewClickedListener() {
@Override @Override
public void onItemClicked(Object item, Row row) { public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
final ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row) final ArrayObjectAdapter adapter = ((ArrayObjectAdapter) ((ListRow) row)
.getAdapter()); .getAdapter());
adapter.clear(); adapter.clear();
@@ -284,10 +301,11 @@ public class BrowseAnimationFragment extends
return new ListRow(header, listRowAdapter); return new ListRow(header, listRowAdapter);
} }
private final class ItemClickedListener implements OnItemClickedListener { private final class ItemViewClickedListener implements OnItemViewClickedListener {
@Override @Override
public void onItemClicked(Object item, Row row) { public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
((Item) item).mAction.onItemClicked(item, row); RowPresenter.ViewHolder rowViewHolder, Row row) {
((Item) item).mAction.onItemClicked(itemViewHolder, item, rowViewHolder, row);
} }
} }
} }

View File

@@ -20,7 +20,6 @@ import android.support.v17.leanback.widget.ArrayObjectAdapter;
import android.support.v17.leanback.widget.HeaderItem; import android.support.v17.leanback.widget.HeaderItem;
import android.support.v17.leanback.widget.ListRow; import android.support.v17.leanback.widget.ListRow;
import android.support.v17.leanback.widget.ListRowPresenter; import android.support.v17.leanback.widget.ListRowPresenter;
import android.support.v17.leanback.widget.OnItemClickedListener;
import android.support.v17.leanback.widget.Row; import android.support.v17.leanback.widget.Row;
import android.support.v17.leanback.widget.SearchOrbView; import android.support.v17.leanback.widget.SearchOrbView;
import android.util.Log; import android.util.Log;