android - 使用 ImageView 在 PageRow 元素之间导航

标签 android android-tv leanback browsefragment

我想将图像添加到页眉元素。我关注了this教程并成功添加图像。它使用 ListRow 元素并与 ListRow 完美配合。

但是,当我用 PageRow 更改 ListRow 元素时,它不会在标题之间导航。以下是一些重要的变化。可能是什么原因?

IconHeaderItemPresenter.java

@Override
public void onBindViewHolder(Presenter.ViewHolder viewHolder, Object o) {
    IconHeaderItem iconHeaderItem = (IconHeaderItem)((PageRow)o).getHeaderItem();
    View rootView = viewHolder.view;
...
}

主要 fragment .java

public void createRows(){

    IconHeaderItem headerItem1 = new IconHeaderItem(1, getString(R.string.header_history), R.drawable.header_images);
    PageRow pageRow1 = new PageRow(headerItem1);
    mRowsAdapter.add(pageRow1);

    IconHeaderItem headerItem2 = new IconHeaderItem(2, getString(R.string.header_recommendations), R.drawable.header_musics);
    PageRow pageRow2 = new PageRow(headerItem2);
    mRowsAdapter.add(pageRow2);

    IconHeaderItem headerItem3 = new IconHeaderItem(3, getString(R.string.header_news), R.drawable.header_videos);
    PageRow pageRow3 = new PageRow(headerItem3);
    mRowsAdapter.add(pageRow3);

    IconHeaderItem headerItem4 = new IconHeaderItem(4, getString(R.string.header_notifications), R.drawable.header_settings);
    PageRow pageRow4 = new PageRow(headerItem4);
    mRowsAdapter.add(pageRow4);
}

private static class PageRowFragmentFactory extends BrowseFragment.FragmentFactory {
    private final BackgroundManager mBackgroundManager;

    PageRowFragmentFactory(BackgroundManager backgroundManager) {
        this.mBackgroundManager = backgroundManager;
    }

    @Override
    public Fragment createFragment(Object rowObj) {
        Row row = (Row)rowObj;
        mBackgroundManager.setDrawable(null);
        //id for news fragment
        if (row.getHeaderItem().getId() == 3) {
            return new SampleFragmentA();
        } else {
            return new SampleFragmentB();
        }

    }
}

最佳答案

添加这两行

view.setFocusable(true);
view.setFocusableInTouchMode(true);

到你扩展的 RowHeaderPresenter 的 onCreateViewHolder

关于android - 使用 ImageView 在 PageRow 元素之间导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42759047/

相关文章:

android - 使用 PageRow 的 leanback BrowseFragment 的自定义 header

Android 电视 Leanback

android - 绘制组合堆积条形图和条形图 Achartengine

android - 什么时候使用 offsetdescendantrecttomycoords?

android-layout - 向后倾斜的 Horizo​​ntalGridView 我想将项目保持在中心

android - Snackbar 或 Toast AndroidTv

安卓电视 : RowsFragment item click not working in few cases

每当我更改它的属性时,Android Linear Layout 都会不断重新排序 child

android - 如何根据手机屏幕大小增加位图图像大小?