Android:Onclick无法在VerticalGridView中运行

时间:2017-01-25 02:23:50

标签: android android-layout android-fragments android-activity android-recyclerview

我有一个使用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

谢谢!

1 个答案:

答案 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);

}         });