Demonstrate OnItemClicked/Selected listeners.

Also fixes broken VerticalGridFragment.
And cleanup.

b/16354712

Change-Id: I348ab42230d88bac8192b5421e76a58b28ca6616
This commit is contained in:
Craig Stout
2014-08-20 18:23:49 -07:00
parent f1c2891a00
commit 311be185b2
5 changed files with 68 additions and 20 deletions

View File

@@ -22,6 +22,7 @@ import android.support.v17.leanback.widget.ImageCardView;
import android.support.v17.leanback.widget.ListRow;
import android.support.v17.leanback.widget.ListRowPresenter;
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;
@@ -54,6 +55,13 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
setupRows();
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() {

View File

@@ -26,6 +26,10 @@ import android.support.v17.leanback.widget.HeaderItem;
import android.support.v17.leanback.widget.ListRow;
import android.support.v17.leanback.widget.ListRowPresenter;
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.util.Log;
import android.view.LayoutInflater;
@@ -36,7 +40,7 @@ import android.widget.Toast;
import java.util.ArrayList;
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 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(ListRow.class,
new ListRowPresenter());
ps.addClassPresenter(ListRow.class, new ListRowPresenter());
mRowsAdapter = new ArrayObjectAdapter(ps);
@@ -70,6 +73,21 @@ public class DetailsFragment extends android.support.v17.leanback.app.DetailsFra
}
dorPresenter.setSharedElementEnterTransition(getActivity(),
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

View File

@@ -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.HeaderItem;
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.Presenter;
import android.support.v17.leanback.widget.RowPresenter;
import android.support.v17.leanback.widget.ListRowPresenter;
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.util.Log;
import android.widget.Toast;
@@ -79,6 +84,21 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl
setFadingEnabled(false);
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 {
String title;
String subtitle;

View File

@@ -14,23 +14,20 @@
package com.example.android.leanback;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v17.leanback.widget.ArrayObjectAdapter;
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.Row;
import android.support.v17.leanback.widget.OnItemClickedListener;
import android.support.v17.leanback.widget.OnItemSelectedListener;
import android.support.v17.leanback.widget.OnItemViewClickedListener;
import android.support.v17.leanback.widget.OnItemViewSelectedListener;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.util.Random;
public class VerticalGridFragment extends android.support.v17.leanback.app.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 ArrayObjectAdapter mAdapter;
private Random mRandom;
@Override
public void onCreate(Bundle savedInstanceState) {
Log.i(TAG, "onCreate");
super.onCreate(savedInstanceState);
mRandom = new Random();
setBadgeDrawable(getActivity().getResources().getDrawable(R.drawable.ic_title));
setTitle("Leanback Vertical Grid Demo");
@@ -59,23 +53,25 @@ public class VerticalGridFragment extends android.support.v17.leanback.app.Verti
gridPresenter.setNumberOfColumns(NUM_COLUMNS);
setGridPresenter(gridPresenter);
mAdapter = new ArrayObjectAdapter(new CardPresenter());
mAdapter = new ArrayObjectAdapter(new StringPresenter());
for (int i = 0; i < NUM_ITEMS; i++) {
mAdapter.add(Integer.toString(i));
}
setAdapter(mAdapter);
setOnItemSelectedListener(new OnItemSelectedListener() {
setOnItemViewSelectedListener(new OnItemViewSelectedListener() {
@Override
public void onItemSelected(Object item, Row row) {
Log.i(TAG, "item selected: " + item);
public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
Log.i(TAG, "onItemSelected: " + item + " row " + row);
}
});
setOnItemClickedListener(new OnItemClickedListener() {
setOnItemViewClickedListener(new OnItemViewClickedListener() {
@Override
public void onItemClicked(Object item, Row row) {
Log.i(TAG, "item clicked: " + item);
public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
Log.i(TAG, "onItemClicked: " + item + " row " + row);
}
});
setOnSearchClickedListener(new View.OnClickListener() {