我在我的项目中使用了Leanback Library的浏览片段。
通过设置browsefragements setOnItemViewClickedListener来检测项目上的简单按钮。
我想检测项目上的长按。任何提示?
setOnItemViewClickedListener( getDefaultItemClickedListener() );
protected OnItemViewClickedListener getDefaultItemClickedListener() {
return new OnItemViewClickedListener() {
@Override
public void onItemClicked(Presenter.ViewHolder viewHolder, Object item, RowPresenter.ViewHolder viewHolder2, Row row) {
}
};
}

提前谢谢 DD
答案 0 :(得分:1)
我不知道你是否得到了答案,但是你想要添加自己的Presenter子类,如下所示:
private static class LongPressItemPresenter extends Presenter {
...
@Override
public void onBindViewHolder(ViewHolder viewHolder, Object object) {
viewHolder.view.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
//todo do something here specific to this item
}
});
}
...
}
如果您有多种类型需要不同的长按操作,或者您可以在onBindViewHolder中执行switch()或if / else树,则可能需要在行/片段适配器级别使用ClassPresenterSelector( )。
mPresenterSelector = new ClassPresenterSelector();
mPresenterSelector.addClassPresenter(NormalItem.class, new CardViewPresenter());
mPresenterSelector.addClassPresenter(CustomItem.class, new LongPressItemPresenter());
mAdapter = new ArrayObjectAdapter(mPresenterSelector);
setAdapter(mAdapter);