android - BrowseFragment 行中的最后一个元素

标签 android android-fragments android-tv leanback

我有一个 fragment :

public class FilmFragment extends BrowseFragment implements LoaderManager.LoaderCallbacks<Object>

BrowseFragment中,我添加了几行项目:

private void loadRubricsFilms(List<Rubric> mRubrics, List<Film> mFilms) {
    int j = 0;

    for (Rubric mRubric : mRubrics) {
        ArrayObjectAdapter listRowAdapter = new ArrayObjectAdapter(mCardPresenter);

        for (Film mFilm : mFilms) {
            if (mFilm.getRubric() == mRubric.getId()) {
                listRowAdapter.add(mFilm);
            }
        }
        HeaderItem header = new HeaderItem(j++, mRubric.getTitle());
        mRowsAdapter.add(new ListRow(header, listRowAdapter));
    }
    setAdapter(mRowsAdapter);
}

我安装了OnItemViewSelectedListener监听器:

    private final class ItemViewSelectedListener implements OnItemViewSelectedListener {
    @Override
    public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item,
                               RowPresenter.ViewHolder rowViewHolder, Row row) {
    }
}

    setOnItemViewSelectedListener(new ItemViewSelectedListener());

覆盖方法onItemSelected:

    @Override
    public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item,
                               RowPresenter.ViewHolder rowViewHolder, Row row) {
    }

我需要检测何时选择了行中的最后一项。我如何确定它?

最佳答案

您可以从 Row rowObject item 以及 Row 上的 ArrayObjectAdapter 获取所需的所有信息onItemSelected(...) 事件中传回。

类似于:

final ListRow listRow = (ListRow) row;
final ArrayObjectAdapter currentRowAdapter = listRow.getAdapter();
int selectedIndex = currentRowAdapter.indexOf(item);
if (selectedIndex != -1 && (currentRowAdapter.size() - 1) == selectedIndex ) {
    // The last item was selected
}

关于android - BrowseFragment 行中的最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37785169/

相关文章:

android - 多次findViewById VS 全局变量

android - 从 Ionic Framework 中的 Android 设备访问本地网络中的树莓派

java - 无法为可滑动的标签滑动

java - IOIO,有没有办法调用 softreset();来自另一个类(class)?

Android TV 应用程序 - 无法使用 Remote 选择列表项

android - 我应该使用哪个资源限定符来支持 1080p、720p 安卓电视? - 安卓

java - 找不到属性 ANDROID_BUILD_TOOLS_VERSION

android - scanCallback 如何用于蓝牙设备?

android - FragmentManager提交后执行功能