我有一个使用VerticalGridView创建片段的活动。 在活动中我有这个:
@Override
public boolean onKeyDown(final int keyCode, final KeyEvent event) {
if (fragment != null) {
if (fragment.handleKeyDown(keyCode)) {
return true;
}
// todo swallow some events
}
return super.onKeyDown(keyCode, event);
}
由于我需要对UP,DOWN,LEFT和RIGHT进行一些特殊处理,所以我覆盖了onKeyDown
。
然后我有一个自定义viewHolder GridItemViewHolder extends RecyclerView.ViewHolder
,在此视图中我有:
gridItemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LOG.d("onclick!!");
}
});
但是当我按“Enter”时,这个onclick方法永远不会被调用。我在这里错过了什么吗? onKeyDown
是否会覆盖onClick
?
谢谢!
答案 0 :(得分:0)
对GridView使用OnItemClickListener
gridItemView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view,
int i, long id) {
LOG.d("onclick!!"+i);
} });