Adding page fragment inside BrowseFragment demo
Change-Id: If6f453f2398d8fc5beba16e2a2e126566b9b65e2
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
android:versionCode="1"
|
android:versionCode="1"
|
||||||
android:versionName="1.0">
|
android:versionName="1.0">
|
||||||
|
|
||||||
<uses-sdk android:minSdkVersion="17" android:targetSdkVersion="19" />
|
<uses-sdk android:minSdkVersion="17" android:targetSdkVersion="23" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
|
|||||||
@@ -66,7 +66,6 @@ for line in file:
|
|||||||
line = line.replace('RowsActivity', 'RowsSupportActivity')
|
line = line.replace('RowsActivity', 'RowsSupportActivity')
|
||||||
line = line.replace('RowsFragment', 'RowsSupportFragment')
|
line = line.replace('RowsFragment', 'RowsSupportFragment')
|
||||||
line = line.replace('GuidedStepHalfScreenActivity', 'GuidedStepSupportHalfScreenActivity')
|
line = line.replace('GuidedStepHalfScreenActivity', 'GuidedStepSupportHalfScreenActivity')
|
||||||
line = line.replace('MainFragmentAdapterFactory', 'MainSupportFragmentAdapterFactory')
|
|
||||||
outfile.write(line)
|
outfile.write(line)
|
||||||
file.close()
|
file.close()
|
||||||
outfile.close()
|
outfile.close()
|
||||||
|
|||||||
@@ -17,15 +17,14 @@ import android.app.Fragment;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.support.v17.leanback.app.Adaptable;
|
||||||
import android.support.v17.leanback.app.GuidedStepFragment;
|
import android.support.v17.leanback.app.GuidedStepFragment;
|
||||||
import android.support.v17.leanback.app.RowsFragment;
|
import android.support.v17.leanback.app.RowsFragment;
|
||||||
import android.support.v17.leanback.app.RowsFragmentAdapter;
|
|
||||||
import android.support.v17.leanback.widget.ArrayObjectAdapter;
|
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.ImageCardView;
|
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.ObjectAdapter;
|
|
||||||
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.OnItemViewSelectedListener;
|
||||||
import android.support.v17.leanback.widget.PageRow;
|
import android.support.v17.leanback.widget.PageRow;
|
||||||
@@ -44,7 +43,9 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
|
|||||||
private static final String TAG = "leanback.BrowseFragment";
|
private static final String TAG = "leanback.BrowseFragment";
|
||||||
|
|
||||||
private static final boolean TEST_ENTRANCE_TRANSITION = true;
|
private static final boolean TEST_ENTRANCE_TRANSITION = true;
|
||||||
private static final int NUM_ROWS = 4;
|
private static final int NUM_ROWS = 8;
|
||||||
|
private static final long HEADER_ID1 = 1001;
|
||||||
|
private static final long HEADER_ID2 = 1002;
|
||||||
|
|
||||||
private ArrayObjectAdapter mRowsAdapter;
|
private ArrayObjectAdapter mRowsAdapter;
|
||||||
private BackgroundHelper mBackgroundHelper = new BackgroundHelper();
|
private BackgroundHelper mBackgroundHelper = new BackgroundHelper();
|
||||||
@@ -55,7 +56,7 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
|
|||||||
final CardPresenter mCardPresenter2 = new CardPresenter(R.style.MyImageCardViewTheme);
|
final CardPresenter mCardPresenter2 = new CardPresenter(R.style.MyImageCardViewTheme);
|
||||||
|
|
||||||
public BrowseFragment() {
|
public BrowseFragment() {
|
||||||
setMainFragmentAdapterFactory(new MainFragmentFactorAdapterImpl());
|
getMainFragmentRegistry().registerFragment(PageRow.class, new PageRowFragmentFactory());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -66,7 +67,7 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
|
|||||||
setBadgeDrawable(getActivity().getResources().getDrawable(R.drawable.ic_title));
|
setBadgeDrawable(getActivity().getResources().getDrawable(R.drawable.ic_title));
|
||||||
setTitle("Leanback Sample App");
|
setTitle("Leanback Sample App");
|
||||||
setHeadersState(HEADERS_ENABLED);
|
setHeadersState(HEADERS_ENABLED);
|
||||||
|
setupRows();
|
||||||
setOnSearchClickedListener(new View.OnClickListener() {
|
setOnSearchClickedListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
@@ -75,7 +76,6 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
setupRows();
|
|
||||||
setOnItemViewClickedListener(new ItemViewClickedListener());
|
setOnItemViewClickedListener(new ItemViewClickedListener());
|
||||||
setOnItemViewSelectedListener(new OnItemViewSelectedListener() {
|
setOnItemViewSelectedListener(new OnItemViewSelectedListener() {
|
||||||
@Override
|
@Override
|
||||||
@@ -97,6 +97,7 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
|
|||||||
prepareEntranceTransition();
|
prepareEntranceTransition();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// simulates in a real world use case data being loaded two seconds later
|
// simulates in a real world use case data being loaded two seconds later
|
||||||
new Handler().postDelayed(new Runnable() {
|
new Handler().postDelayed(new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
@@ -119,15 +120,16 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
|
|||||||
|
|
||||||
private void loadData() {
|
private void loadData() {
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
|
HeaderItem header = new HeaderItem(HEADER_ID1, "Page Row " + 0);
|
||||||
|
mRowsAdapter.add(new PageRow(header));
|
||||||
|
|
||||||
for (; i < NUM_ROWS; ++i) {
|
for (; i < NUM_ROWS; ++i) {
|
||||||
HeaderItem header = new HeaderItem(i, "Row " + i);
|
header = new HeaderItem(i, "Row " + i);
|
||||||
mRowsAdapter.add(new ListRow(header, createListRowAdapter(i)));
|
mRowsAdapter.add(new ListRow(header, createListRowAdapter(i)));
|
||||||
}
|
}
|
||||||
|
|
||||||
HeaderItem header = new HeaderItem(NUM_ROWS, "Page Row " + 0);
|
header = new HeaderItem(HEADER_ID2, "Page Row " + 1);
|
||||||
mRowsAdapter.add(new PageRow(header));
|
|
||||||
|
|
||||||
header = new HeaderItem(NUM_ROWS, "Page Row " + 1);
|
|
||||||
mRowsAdapter.add(new PageRow(header));
|
mRowsAdapter.add(new PageRow(header));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -202,60 +204,52 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class MainFragmentFactorAdapterImpl extends MainFragmentAdapterFactory {
|
public static class PageRowFragmentFactory extends FragmentFactory {
|
||||||
private AbstractMainFragmentAdapter pageFragmentAdapter1 = new PageFragmentAdapterImpl();
|
|
||||||
private RowsFragmentAdapter gridPageFragmentAdapter;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AbstractMainFragmentAdapter getPageFragmentAdapter(
|
public Fragment createFragment(Object rowObj) {
|
||||||
ObjectAdapter adapter, int position) {
|
Row row = (Row) rowObj;
|
||||||
if (position == 4) {
|
if (row.getHeaderItem().getId() == HEADER_ID1) {
|
||||||
return pageFragmentAdapter1;
|
return new SampleFragment();
|
||||||
} else {
|
} else if (row.getHeaderItem().getId() == HEADER_ID2) {
|
||||||
if (gridPageFragmentAdapter == null) {
|
return new SampleRowsFragment();
|
||||||
gridPageFragmentAdapter = new GridPageFragmentAdapterImpl();
|
|
||||||
}
|
|
||||||
return gridPageFragmentAdapter;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class PageFragmentAdapterImpl extends AbstractMainFragmentAdapter {
|
public static class PageFragmentAdapterImpl extends MainFragmentAdapter<SampleFragment> {
|
||||||
private Fragment mFragment;
|
|
||||||
|
|
||||||
PageFragmentAdapterImpl() {
|
public PageFragmentAdapterImpl(SampleFragment fragment) {
|
||||||
|
super(fragment);
|
||||||
setScalingEnabled(true);
|
setScalingEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public Fragment getFragment() {
|
|
||||||
if (mFragment == null) {
|
|
||||||
mFragment = new SampleFragment();
|
|
||||||
}
|
|
||||||
return mFragment;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class GridPageFragmentAdapterImpl extends RowsFragmentAdapter {
|
public static class SampleRowsFragment extends RowsFragment {
|
||||||
final CardPresenter mCardPresenter = new CardPresenter();
|
final CardPresenter mCardPresenter = new CardPresenter();
|
||||||
final CardPresenter mCardPresenter2 = new CardPresenter(R.style.MyImageCardViewTheme);
|
final CardPresenter mCardPresenter2 = new CardPresenter(R.style.MyImageCardViewTheme);
|
||||||
private RowsFragment mFragment;
|
|
||||||
|
|
||||||
GridPageFragmentAdapterImpl() {
|
public SampleRowsFragment() {
|
||||||
setScalingEnabled(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Fragment createFragment() {
|
|
||||||
if (mFragment == null) {
|
|
||||||
mFragment = new RowsFragment();
|
|
||||||
ArrayObjectAdapter adapter = new ArrayObjectAdapter(new ListRowPresenter());
|
ArrayObjectAdapter adapter = new ArrayObjectAdapter(new ListRowPresenter());
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 0; i < 4; i++) {
|
||||||
ListRow row = new ListRow(new HeaderItem("Row " + i), createListRowAdapter(i));
|
ListRow row = new ListRow(new HeaderItem("Row " + i), createListRowAdapter(i));
|
||||||
adapter.add(row);
|
adapter.add(row);
|
||||||
}
|
}
|
||||||
mFragment.setAdapter(adapter);
|
setAdapter(adapter);
|
||||||
|
|
||||||
|
setOnItemViewClickedListener(new OnItemViewClickedListener() {
|
||||||
|
@Override
|
||||||
|
public void onItemClicked(
|
||||||
|
Presenter.ViewHolder itemViewHolder,
|
||||||
|
Object item,
|
||||||
|
RowPresenter.ViewHolder rowViewHolder, Row row) {
|
||||||
|
Intent intent = new Intent(
|
||||||
|
itemViewHolder.view.getContext(), GuidedStepActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
}
|
}
|
||||||
return mFragment;
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private ArrayObjectAdapter createListRowAdapter(int i) {
|
private ArrayObjectAdapter createListRowAdapter(int i) {
|
||||||
@@ -294,12 +288,31 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class SampleFragment extends Fragment {
|
public static class SampleFragment extends Fragment implements Adaptable {
|
||||||
|
|
||||||
|
final PageFragmentAdapterImpl mMainFragmentAdapter = new PageFragmentAdapterImpl(this);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(
|
public View onCreateView(
|
||||||
LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
final LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||||
return inflater.inflate(R.layout.page_fragment, container, false);
|
View view = inflater.inflate(R.layout.page_fragment, container, false);
|
||||||
|
view.findViewById(R.id.tv1).setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
Intent intent = new Intent(inflater.getContext(), GuidedStepActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return view;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageFragmentAdapterImpl getAdapter(Class clazz) {
|
||||||
|
if (clazz == MainFragmentAdapter.class) {
|
||||||
|
return mMainFragmentAdapter;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -323,3 +336,4 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,15 +19,14 @@ import android.support.v4.app.Fragment;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.support.v17.leanback.app.Adaptable;
|
||||||
import android.support.v17.leanback.app.GuidedStepSupportFragment;
|
import android.support.v17.leanback.app.GuidedStepSupportFragment;
|
||||||
import android.support.v17.leanback.app.RowsSupportFragment;
|
import android.support.v17.leanback.app.RowsSupportFragment;
|
||||||
import android.support.v17.leanback.app.RowsSupportFragmentAdapter;
|
|
||||||
import android.support.v17.leanback.widget.ArrayObjectAdapter;
|
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.ImageCardView;
|
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.ObjectAdapter;
|
|
||||||
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.OnItemViewSelectedListener;
|
||||||
import android.support.v17.leanback.widget.PageRow;
|
import android.support.v17.leanback.widget.PageRow;
|
||||||
@@ -46,7 +45,9 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
|
|||||||
private static final String TAG = "leanback.BrowseSupportFragment";
|
private static final String TAG = "leanback.BrowseSupportFragment";
|
||||||
|
|
||||||
private static final boolean TEST_ENTRANCE_TRANSITION = true;
|
private static final boolean TEST_ENTRANCE_TRANSITION = true;
|
||||||
private static final int NUM_ROWS = 4;
|
private static final int NUM_ROWS = 8;
|
||||||
|
private static final long HEADER_ID1 = 1001;
|
||||||
|
private static final long HEADER_ID2 = 1002;
|
||||||
|
|
||||||
private ArrayObjectAdapter mRowsAdapter;
|
private ArrayObjectAdapter mRowsAdapter;
|
||||||
private BackgroundHelper mBackgroundHelper = new BackgroundHelper();
|
private BackgroundHelper mBackgroundHelper = new BackgroundHelper();
|
||||||
@@ -57,7 +58,7 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
|
|||||||
final CardPresenter mCardPresenter2 = new CardPresenter(R.style.MyImageCardViewTheme);
|
final CardPresenter mCardPresenter2 = new CardPresenter(R.style.MyImageCardViewTheme);
|
||||||
|
|
||||||
public BrowseSupportFragment() {
|
public BrowseSupportFragment() {
|
||||||
setMainSupportFragmentAdapterFactory(new MainFragmentFactorAdapterImpl());
|
getMainFragmentRegistry().registerFragment(PageRow.class, new PageRowFragmentFactory());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -68,7 +69,7 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
|
|||||||
setBadgeDrawable(getActivity().getResources().getDrawable(R.drawable.ic_title));
|
setBadgeDrawable(getActivity().getResources().getDrawable(R.drawable.ic_title));
|
||||||
setTitle("Leanback Sample App");
|
setTitle("Leanback Sample App");
|
||||||
setHeadersState(HEADERS_ENABLED);
|
setHeadersState(HEADERS_ENABLED);
|
||||||
|
setupRows();
|
||||||
setOnSearchClickedListener(new View.OnClickListener() {
|
setOnSearchClickedListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
@@ -77,7 +78,6 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
setupRows();
|
|
||||||
setOnItemViewClickedListener(new ItemViewClickedListener());
|
setOnItemViewClickedListener(new ItemViewClickedListener());
|
||||||
setOnItemViewSelectedListener(new OnItemViewSelectedListener() {
|
setOnItemViewSelectedListener(new OnItemViewSelectedListener() {
|
||||||
@Override
|
@Override
|
||||||
@@ -99,6 +99,7 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
|
|||||||
prepareEntranceTransition();
|
prepareEntranceTransition();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// simulates in a real world use case data being loaded two seconds later
|
// simulates in a real world use case data being loaded two seconds later
|
||||||
new Handler().postDelayed(new Runnable() {
|
new Handler().postDelayed(new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
@@ -121,15 +122,16 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
|
|||||||
|
|
||||||
private void loadData() {
|
private void loadData() {
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
|
HeaderItem header = new HeaderItem(HEADER_ID1, "Page Row " + 0);
|
||||||
|
mRowsAdapter.add(new PageRow(header));
|
||||||
|
|
||||||
for (; i < NUM_ROWS; ++i) {
|
for (; i < NUM_ROWS; ++i) {
|
||||||
HeaderItem header = new HeaderItem(i, "Row " + i);
|
header = new HeaderItem(i, "Row " + i);
|
||||||
mRowsAdapter.add(new ListRow(header, createListRowAdapter(i)));
|
mRowsAdapter.add(new ListRow(header, createListRowAdapter(i)));
|
||||||
}
|
}
|
||||||
|
|
||||||
HeaderItem header = new HeaderItem(NUM_ROWS, "Page Row " + 0);
|
header = new HeaderItem(HEADER_ID2, "Page Row " + 1);
|
||||||
mRowsAdapter.add(new PageRow(header));
|
|
||||||
|
|
||||||
header = new HeaderItem(NUM_ROWS, "Page Row " + 1);
|
|
||||||
mRowsAdapter.add(new PageRow(header));
|
mRowsAdapter.add(new PageRow(header));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -204,60 +206,52 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class MainFragmentFactorAdapterImpl extends MainSupportFragmentAdapterFactory {
|
public static class PageRowFragmentFactory extends FragmentFactory {
|
||||||
private AbstractMainFragmentAdapter pageFragmentAdapter1 = new PageFragmentAdapterImpl();
|
|
||||||
private RowsSupportFragmentAdapter gridPageFragmentAdapter;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AbstractMainFragmentAdapter getPageFragmentAdapter(
|
public Fragment createFragment(Object rowObj) {
|
||||||
ObjectAdapter adapter, int position) {
|
Row row = (Row) rowObj;
|
||||||
if (position == 4) {
|
if (row.getHeaderItem().getId() == HEADER_ID1) {
|
||||||
return pageFragmentAdapter1;
|
return new SampleFragment();
|
||||||
} else {
|
} else if (row.getHeaderItem().getId() == HEADER_ID2) {
|
||||||
if (gridPageFragmentAdapter == null) {
|
return new SampleRowsSupportFragment();
|
||||||
gridPageFragmentAdapter = new GridPageFragmentAdapterImpl();
|
|
||||||
}
|
|
||||||
return gridPageFragmentAdapter;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class PageFragmentAdapterImpl extends AbstractMainFragmentAdapter {
|
public static class PageFragmentAdapterImpl extends MainFragmentAdapter<SampleFragment> {
|
||||||
private Fragment mFragment;
|
|
||||||
|
|
||||||
PageFragmentAdapterImpl() {
|
public PageFragmentAdapterImpl(SampleFragment fragment) {
|
||||||
|
super(fragment);
|
||||||
setScalingEnabled(true);
|
setScalingEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public Fragment getFragment() {
|
|
||||||
if (mFragment == null) {
|
|
||||||
mFragment = new SampleFragment();
|
|
||||||
}
|
|
||||||
return mFragment;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class GridPageFragmentAdapterImpl extends RowsSupportFragmentAdapter {
|
public static class SampleRowsSupportFragment extends RowsSupportFragment {
|
||||||
final CardPresenter mCardPresenter = new CardPresenter();
|
final CardPresenter mCardPresenter = new CardPresenter();
|
||||||
final CardPresenter mCardPresenter2 = new CardPresenter(R.style.MyImageCardViewTheme);
|
final CardPresenter mCardPresenter2 = new CardPresenter(R.style.MyImageCardViewTheme);
|
||||||
private RowsSupportFragment mFragment;
|
|
||||||
|
|
||||||
GridPageFragmentAdapterImpl() {
|
public SampleRowsSupportFragment() {
|
||||||
setScalingEnabled(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Fragment createFragment() {
|
|
||||||
if (mFragment == null) {
|
|
||||||
mFragment = new RowsSupportFragment();
|
|
||||||
ArrayObjectAdapter adapter = new ArrayObjectAdapter(new ListRowPresenter());
|
ArrayObjectAdapter adapter = new ArrayObjectAdapter(new ListRowPresenter());
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 0; i < 4; i++) {
|
||||||
ListRow row = new ListRow(new HeaderItem("Row " + i), createListRowAdapter(i));
|
ListRow row = new ListRow(new HeaderItem("Row " + i), createListRowAdapter(i));
|
||||||
adapter.add(row);
|
adapter.add(row);
|
||||||
}
|
}
|
||||||
mFragment.setAdapter(adapter);
|
setAdapter(adapter);
|
||||||
|
|
||||||
|
setOnItemViewClickedListener(new OnItemViewClickedListener() {
|
||||||
|
@Override
|
||||||
|
public void onItemClicked(
|
||||||
|
Presenter.ViewHolder itemViewHolder,
|
||||||
|
Object item,
|
||||||
|
RowPresenter.ViewHolder rowViewHolder, Row row) {
|
||||||
|
Intent intent = new Intent(
|
||||||
|
itemViewHolder.view.getContext(), GuidedStepSupportActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
}
|
}
|
||||||
return mFragment;
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private ArrayObjectAdapter createListRowAdapter(int i) {
|
private ArrayObjectAdapter createListRowAdapter(int i) {
|
||||||
@@ -296,12 +290,31 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class SampleFragment extends Fragment {
|
public static class SampleFragment extends Fragment implements Adaptable {
|
||||||
|
|
||||||
|
final PageFragmentAdapterImpl mMainFragmentAdapter = new PageFragmentAdapterImpl(this);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(
|
public View onCreateView(
|
||||||
LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
final LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||||
return inflater.inflate(R.layout.page_fragment, container, false);
|
View view = inflater.inflate(R.layout.page_fragment, container, false);
|
||||||
|
view.findViewById(R.id.tv1).setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
Intent intent = new Intent(inflater.getContext(), GuidedStepSupportActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return view;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageFragmentAdapterImpl getAdapter(Class clazz) {
|
||||||
|
if (clazz == MainFragmentAdapter.class) {
|
||||||
|
return mMainFragmentAdapter;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -325,3 +338,4 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user