【问题标题】:Headers fragment item listener标头片段项目侦听器
【发布时间】:2017-10-22 16:27:59
【问题描述】:

我正在尝试使用侦听器在 dpad 移动时在控制台标题片段项目标题/ID 中打印出来。我做错了什么,是否有其他方法可以实现我的目标?

例如:

将打印出“Category 3”或“....”id。

public class XFragment extends BrowseFragment {

  //onCreate()

     setOnItemViewSelectedListener(new OnItemViewSelectedListener() {
        @Override
        public void onItemSelected(Presenter.ViewHolder itemViewHolder, 
        Object item, RowPresenter.ViewHolder rowViewHolder, Row row) {
            Log.d("TAG", "Here!");
        }      
    });       
}       

我什至无法“捕捉”标题项目之间的选择。

【问题讨论】:

    标签: android-tv leanback


    【解决方案1】:

    自己找到了解决方案。事实证明,这很容易。

    if (getHeadersFragment() != null){
            getHeadersFragment().setOnHeaderViewSelectedListener(new HeadersFragment.OnHeaderViewSelectedListener() {
                @Override
                public void onHeaderSelected(RowHeaderPresenter.ViewHolder viewHolder, Row row) {
                    // catch your item by row.getId();
                }
            });
    }
    

    【讨论】:

    • 使用 setOnHeaderViewSelectedListener() 会破坏 BrowseSupportFragment。所以,让我们使用 getHeadersSupportFragment().getSelectedPosition(); => 标题项标题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    • 1970-01-01
    • 2023-03-30
    • 2013-05-11
    相关资源
    最近更新 更多