Demonstrate OnItemClicked/Selected listeners.
Also fixes broken VerticalGridFragment. And cleanup. b/16354712 Change-Id: I348ab42230d88bac8192b5421e76a58b28ca6616
This commit is contained in:
@@ -19,7 +19,7 @@
|
|||||||
android:shape="rectangle">
|
android:shape="rectangle">
|
||||||
<gradient
|
<gradient
|
||||||
android:startColor="#FFFF0000"
|
android:startColor="#FFFF0000"
|
||||||
android:endColor="#80FF00FF"
|
android:endColor="#FFFF00FF"
|
||||||
android:angle="45" />
|
android:angle="45" />
|
||||||
<padding
|
<padding
|
||||||
android:left="7dp"
|
android:left="7dp"
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import android.support.v17.leanback.widget.ImageCardView;
|
|||||||
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.OnItemViewClickedListener;
|
import android.support.v17.leanback.widget.OnItemViewClickedListener;
|
||||||
|
import android.support.v17.leanback.widget.OnItemViewSelectedListener;
|
||||||
import android.support.v17.leanback.widget.Presenter;
|
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.support.v17.leanback.widget.RowPresenter;
|
||||||
@@ -54,6 +55,13 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
|
|||||||
|
|
||||||
setupRows();
|
setupRows();
|
||||||
setOnItemViewClickedListener(new ItemViewClickedListener());
|
setOnItemViewClickedListener(new ItemViewClickedListener());
|
||||||
|
setOnItemViewSelectedListener(new OnItemViewSelectedListener() {
|
||||||
|
@Override
|
||||||
|
public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item,
|
||||||
|
RowPresenter.ViewHolder rowViewHolder, Row row) {
|
||||||
|
Log.i(TAG, "onItemSelected: " + item + " row " + row);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setupRows() {
|
private void setupRows() {
|
||||||
|
|||||||
@@ -26,6 +26,10 @@ 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.OnActionClickedListener;
|
import android.support.v17.leanback.widget.OnActionClickedListener;
|
||||||
|
import android.support.v17.leanback.widget.OnItemViewClickedListener;
|
||||||
|
import android.support.v17.leanback.widget.OnItemViewSelectedListener;
|
||||||
|
import android.support.v17.leanback.widget.Presenter;
|
||||||
|
import android.support.v17.leanback.widget.Row;
|
||||||
import android.support.v17.leanback.widget.RowPresenter;
|
import android.support.v17.leanback.widget.RowPresenter;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
@@ -36,7 +40,7 @@ import android.widget.Toast;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class DetailsFragment extends android.support.v17.leanback.app.DetailsFragment {
|
public class DetailsFragment extends android.support.v17.leanback.app.DetailsFragment {
|
||||||
private static final String TAG = "leanback.BrowseFragment";
|
private static final String TAG = "leanback.DetailsFragment";
|
||||||
private static final String ITEM = "item";
|
private static final String ITEM = "item";
|
||||||
|
|
||||||
private static final int NUM_ROWS = 3;
|
private static final int NUM_ROWS = 3;
|
||||||
@@ -58,8 +62,7 @@ public class DetailsFragment extends android.support.v17.leanback.app.DetailsFra
|
|||||||
});
|
});
|
||||||
|
|
||||||
ps.addClassPresenter(DetailsOverviewRow.class, dorPresenter);
|
ps.addClassPresenter(DetailsOverviewRow.class, dorPresenter);
|
||||||
ps.addClassPresenter(ListRow.class,
|
ps.addClassPresenter(ListRow.class, new ListRowPresenter());
|
||||||
new ListRowPresenter());
|
|
||||||
|
|
||||||
mRowsAdapter = new ArrayObjectAdapter(ps);
|
mRowsAdapter = new ArrayObjectAdapter(ps);
|
||||||
|
|
||||||
@@ -70,6 +73,21 @@ public class DetailsFragment extends android.support.v17.leanback.app.DetailsFra
|
|||||||
}
|
}
|
||||||
dorPresenter.setSharedElementEnterTransition(getActivity(),
|
dorPresenter.setSharedElementEnterTransition(getActivity(),
|
||||||
DetailsActivity.SHARED_ELEMENT_NAME);
|
DetailsActivity.SHARED_ELEMENT_NAME);
|
||||||
|
|
||||||
|
setOnItemViewClickedListener(new OnItemViewClickedListener() {
|
||||||
|
@Override
|
||||||
|
public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
|
||||||
|
RowPresenter.ViewHolder rowViewHolder, Row row) {
|
||||||
|
Log.i(TAG, "onItemClicked: " + item + " row " + row);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
setOnItemViewSelectedListener(new OnItemViewSelectedListener() {
|
||||||
|
@Override
|
||||||
|
public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item,
|
||||||
|
RowPresenter.ViewHolder rowViewHolder, Row row) {
|
||||||
|
Log.i(TAG, "onItemSelected: " + item + " row " + row);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -35,9 +35,14 @@ import android.support.v17.leanback.widget.PlaybackControlsRow.SkipPreviousActio
|
|||||||
import android.support.v17.leanback.widget.PlaybackControlsRowPresenter;
|
import android.support.v17.leanback.widget.PlaybackControlsRowPresenter;
|
||||||
import android.support.v17.leanback.widget.HeaderItem;
|
import android.support.v17.leanback.widget.HeaderItem;
|
||||||
import android.support.v17.leanback.widget.VerticalGridView;
|
import android.support.v17.leanback.widget.VerticalGridView;
|
||||||
|
import android.support.v17.leanback.widget.Row;
|
||||||
import android.support.v17.leanback.widget.ListRow;
|
import android.support.v17.leanback.widget.ListRow;
|
||||||
|
import android.support.v17.leanback.widget.Presenter;
|
||||||
|
import android.support.v17.leanback.widget.RowPresenter;
|
||||||
import android.support.v17.leanback.widget.ListRowPresenter;
|
import android.support.v17.leanback.widget.ListRowPresenter;
|
||||||
import android.support.v17.leanback.widget.OnActionClickedListener;
|
import android.support.v17.leanback.widget.OnActionClickedListener;
|
||||||
|
import android.support.v17.leanback.widget.OnItemViewSelectedListener;
|
||||||
|
import android.support.v17.leanback.widget.OnItemViewClickedListener;
|
||||||
import android.support.v17.leanback.widget.ControlButtonPresenterSelector;
|
import android.support.v17.leanback.widget.ControlButtonPresenterSelector;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
@@ -79,6 +84,21 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl
|
|||||||
setFadingEnabled(false);
|
setFadingEnabled(false);
|
||||||
|
|
||||||
setupRows();
|
setupRows();
|
||||||
|
|
||||||
|
setOnItemViewSelectedListener(new OnItemViewSelectedListener() {
|
||||||
|
@Override
|
||||||
|
public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item,
|
||||||
|
RowPresenter.ViewHolder rowViewHolder, Row row) {
|
||||||
|
Log.i(TAG, "onItemSelected: " + item + " row " + row);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
setOnItemViewClickedListener(new OnItemViewClickedListener() {
|
||||||
|
@Override
|
||||||
|
public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
|
||||||
|
RowPresenter.ViewHolder rowViewHolder, Row row) {
|
||||||
|
Log.i(TAG, "onItemClicked: " + item + " row " + row);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -258,6 +278,12 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onStop() {
|
||||||
|
stopProgressAutomation();
|
||||||
|
super.onStop();
|
||||||
|
}
|
||||||
|
|
||||||
static class MediaItem {
|
static class MediaItem {
|
||||||
String title;
|
String title;
|
||||||
String subtitle;
|
String subtitle;
|
||||||
|
|||||||
@@ -14,23 +14,20 @@
|
|||||||
package com.example.android.leanback;
|
package com.example.android.leanback;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.res.Resources;
|
|
||||||
import android.graphics.Color;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v17.leanback.widget.ArrayObjectAdapter;
|
import android.support.v17.leanback.widget.ArrayObjectAdapter;
|
||||||
import android.support.v17.leanback.widget.Presenter;
|
import android.support.v17.leanback.widget.Presenter;
|
||||||
|
import android.support.v17.leanback.widget.RowPresenter;
|
||||||
import android.support.v17.leanback.widget.VerticalGridPresenter;
|
import android.support.v17.leanback.widget.VerticalGridPresenter;
|
||||||
import android.support.v17.leanback.widget.Row;
|
import android.support.v17.leanback.widget.Row;
|
||||||
import android.support.v17.leanback.widget.OnItemClickedListener;
|
import android.support.v17.leanback.widget.OnItemViewClickedListener;
|
||||||
import android.support.v17.leanback.widget.OnItemSelectedListener;
|
import android.support.v17.leanback.widget.OnItemViewSelectedListener;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
public class VerticalGridFragment extends android.support.v17.leanback.app.VerticalGridFragment {
|
public class VerticalGridFragment extends android.support.v17.leanback.app.VerticalGridFragment {
|
||||||
private static final String TAG = "leanback.VerticalGridFragment";
|
private static final String TAG = "leanback.VerticalGridFragment";
|
||||||
|
|
||||||
@@ -39,15 +36,12 @@ public class VerticalGridFragment extends android.support.v17.leanback.app.Verti
|
|||||||
private static final int HEIGHT = 200;
|
private static final int HEIGHT = 200;
|
||||||
|
|
||||||
private ArrayObjectAdapter mAdapter;
|
private ArrayObjectAdapter mAdapter;
|
||||||
private Random mRandom;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
Log.i(TAG, "onCreate");
|
Log.i(TAG, "onCreate");
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
mRandom = new Random();
|
|
||||||
|
|
||||||
setBadgeDrawable(getActivity().getResources().getDrawable(R.drawable.ic_title));
|
setBadgeDrawable(getActivity().getResources().getDrawable(R.drawable.ic_title));
|
||||||
setTitle("Leanback Vertical Grid Demo");
|
setTitle("Leanback Vertical Grid Demo");
|
||||||
|
|
||||||
@@ -59,23 +53,25 @@ public class VerticalGridFragment extends android.support.v17.leanback.app.Verti
|
|||||||
gridPresenter.setNumberOfColumns(NUM_COLUMNS);
|
gridPresenter.setNumberOfColumns(NUM_COLUMNS);
|
||||||
setGridPresenter(gridPresenter);
|
setGridPresenter(gridPresenter);
|
||||||
|
|
||||||
mAdapter = new ArrayObjectAdapter(new CardPresenter());
|
mAdapter = new ArrayObjectAdapter(new StringPresenter());
|
||||||
for (int i = 0; i < NUM_ITEMS; i++) {
|
for (int i = 0; i < NUM_ITEMS; i++) {
|
||||||
mAdapter.add(Integer.toString(i));
|
mAdapter.add(Integer.toString(i));
|
||||||
}
|
}
|
||||||
setAdapter(mAdapter);
|
setAdapter(mAdapter);
|
||||||
|
|
||||||
setOnItemSelectedListener(new OnItemSelectedListener() {
|
setOnItemViewSelectedListener(new OnItemViewSelectedListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onItemSelected(Object item, Row row) {
|
public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item,
|
||||||
Log.i(TAG, "item selected: " + item);
|
RowPresenter.ViewHolder rowViewHolder, Row row) {
|
||||||
|
Log.i(TAG, "onItemSelected: " + item + " row " + row);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
setOnItemClickedListener(new OnItemClickedListener() {
|
setOnItemViewClickedListener(new OnItemViewClickedListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onItemClicked(Object item, Row row) {
|
public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
|
||||||
Log.i(TAG, "item clicked: " + item);
|
RowPresenter.ViewHolder rowViewHolder, Row row) {
|
||||||
|
Log.i(TAG, "onItemClicked: " + item + " row " + row);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
setOnSearchClickedListener(new View.OnClickListener() {
|
setOnSearchClickedListener(new View.OnClickListener() {
|
||||||
|
|||||||
Reference in New Issue
Block a user