0
RecyclerView
에 onclick
메서드를 설정하려고합니다. 다른 프로젝트에서 작동했지만 여기서는 작동하지 않습니다. 웹에서 검색했지만 알아낼 수는 없습니다. 축배조차도 나타나지 않습니다. 누군가 제가 제 실수를하고있는 곳을 제게 설명해 주시겠습니까? 여기 RecyclerView onClick이 전혀 작동하지 않습니다.
내 코드입니다 :
private Context mContext;
private MenuImages[] mMenuImages;
public MenuAdapter(Context context, MenuImages[] menuImages){
mContext = context;
mMenuImages = menuImages;
}
@Override
public MenuViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.menu_list_item, parent, false);
MenuViewHolder viewHolder = new MenuViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(MenuViewHolder holder, int position) {
holder.bindMenu(mMenuImages[position]);
}
@Override
public int getItemCount() {
return mMenuImages.length;
}
public class MenuViewHolder extends RecyclerView.ViewHolder
implements View.OnClickListener{
public ImageView mImageView;
public TextView mTextView;
public MenuViewHolder(View itemView) {
super(itemView);
mImageView = (ImageView) itemView.findViewById(R.id.itemImageView);
mTextView = (TextView) itemView.findViewById(R.id.textView2);
itemView.setOnClickListener(this);
}
public void bindMenu(MenuImages menuImage){
mImageView.setImageBitmap(menuImage.getImageMenu());
mTextView.setText(menuImage.getTitleImageMenu());
}
@Override
public void onClick(View v) {
Toast.makeText(v.getContext(), getLayoutPosition(), Toast.LENGTH_LONG).show();
}
}
itemview.setClickable (true); –
빠른 응답을 주셔서 감사합니다. 그러나 여전히 작동하지 않습니다. 모니터에서 다음과 같은 메시지가 나타납니다. W/ViewRootImpl : 창 포커스가 없기 때문에 이벤트 취소 중 : MotionEvent {action = ACTION_CANCEL, actionButton = 0, id [0] = 0, x [0] = 481.59375, y [0] = 620.4297, toolType [0] = TOOL_TYPE_FINGER, buttonState = 0, metaState = 0, flags = 0x0, edgeFlags = 0x0, pointerCount = 1, historySize = 0 , eventTime = 72911, downTime = 65936, deviceId = 0, source = 0x1002} –
창 포커스가 없어서 이벤트 취소 :: => .setFocusable (true); :) –