我正在使用GridView并将包含CardView的自定义适配器作为项目应用于其中。 Item CardView包含一个更多的按钮,并有几个选项,如GooglePlayMusic瓷砖。 但是当我在卡片项目上显示按钮时,GridView项目所有点击事件都没有被捕获。如果我改变了可见性,那么相同的事件就可以了。 我无法弄清代码中的问题。
@Override
public View getView(final int position, View convertView, ViewGroup viewGroup) {
ImageView image;
final TextView title;
View view = convertView;
if (view == null) {
view = LayoutInflater.from(mContext).inflate(resourceLayout, null);
Wing wing = titles.get(position);
view.setTag(wing);
} else {
Wing wing = (Wing) view.getTag();
wing.getWingName();
}
ImageButton more = (ImageButton) view.findViewById(R.id.more);
if (!DashboardActivity.isAdmin) {
/// *** AFTER HIDING THE BUTTON VIEW, I GOT ALL CLICK EVENTS ***
more.setVisibility(View.GONE);
}
more.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showManipulationDialog(position);
}
});
image = (ImageView) view.findViewById(R.id.card_image);
title = (TextView) view.findViewById(R.id.title);
image.setImageResource(mThumbIds);
title.setText(titles.get(position).getWingName());
return view;
}
有什么建议吗?提前谢谢。