Playback 支持 Fragments Presenter 中的 onClick 事件
onClickEvent in PlaybackSupportFragment's Presenter
您好,我正在构建 PlaybackSupportFragment,在播放器控件下方添加了额外的行后,Presenter 的 onClickEvent 不起作用,我的意思是根本没有捕捉到。
ArrayObjectAdapter episodeRow = new ArrayObjectAdapter(new EpisodePresenter(mother));
for(Episode episode : episodes)
episodeRow.add(episode);
superAdapter.add(new ListRow(new HeaderItem(0, "Episodes"), episodeRow));
setAdapter(superAdapter);
而 EpisodePresenter 本身是(class 当然扩展了 android.support.v17.leanback.widget.Presenter
):
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent) {
TextView view = new TextView(parent.getContext());
view.setLayoutParams(new ViewGroup.LayoutParams(315, 175));
view.setFocusable(true);
view.setFocusableInTouchMode(true);
view.setBackgroundColor(context.getResources().getColor(R.color.default_background));
view.setTextColor(Color.WHITE);
view.setGravity(Gravity.CENTER);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, Object item) {
TextView vHolder = (TextView) viewHolder.view;
final Episode model = (Episode) item;
vHolder.setText(model.name);
vHolder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Does not work at all
Toast.makeText(context, "dsadas", Toast.LENGTH_SHORT).show();
}
});
}
@Override
public void onUnbindViewHolder(ViewHolder viewHolder) {
}
有什么解决方案?
已通过使用 setOnEditorActionListener
而不是 onClickListener
修复
您好,我正在构建 PlaybackSupportFragment,在播放器控件下方添加了额外的行后,Presenter 的 onClickEvent 不起作用,我的意思是根本没有捕捉到。
ArrayObjectAdapter episodeRow = new ArrayObjectAdapter(new EpisodePresenter(mother));
for(Episode episode : episodes)
episodeRow.add(episode);
superAdapter.add(new ListRow(new HeaderItem(0, "Episodes"), episodeRow));
setAdapter(superAdapter);
而 EpisodePresenter 本身是(class 当然扩展了 android.support.v17.leanback.widget.Presenter
):
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent) {
TextView view = new TextView(parent.getContext());
view.setLayoutParams(new ViewGroup.LayoutParams(315, 175));
view.setFocusable(true);
view.setFocusableInTouchMode(true);
view.setBackgroundColor(context.getResources().getColor(R.color.default_background));
view.setTextColor(Color.WHITE);
view.setGravity(Gravity.CENTER);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, Object item) {
TextView vHolder = (TextView) viewHolder.view;
final Episode model = (Episode) item;
vHolder.setText(model.name);
vHolder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Does not work at all
Toast.makeText(context, "dsadas", Toast.LENGTH_SHORT).show();
}
});
}
@Override
public void onUnbindViewHolder(ViewHolder viewHolder) {
}
有什么解决方案?
已通过使用 setOnEditorActionListener
而不是 onClickListener