【发布时间】:2017-07-10 08:33:46
【问题描述】:
我正在使用库将鼠标悬停在 recylerview 的项目上,但项目的列表器无法正常工作,它以前工作过,而且问题是 -- 是在另一个膨胀的 xml 文件上膨胀新的 xml 文件的正确方法吗?
提前致谢。
public class LessonVideoAdapter extends RecyclerView.Adapter<LessonVideoAdapter.LessonDataHolder> {
private List<VideoList> slipList;
public LessonVideoAdapter() {
slipList = new ArrayList<>();
slipList.add(new VideoList("Chapter 1", R.drawable.demo_one));
slipList.add(new VideoList("Chapter 2", R.drawable.demo_two));
slipList.add(new VideoList("Chapter 3", R.drawable.demo_one));
slipList.add(new VideoList("Chapter 4", R.drawable.demo_two));
}
@Override
public LessonDataHolder onCreateViewHolder(ViewGroup parent, int viewType) {
Context context = parent.getContext();
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.abc_card_view_video, parent, false);
return new LessonDataHolder(view);
}
@Override
public void onBindViewHolder(LessonDataHolder holder, int position) {
VideoList s = slipList.get(position);
holder.bindSlip(s);
}
@Override
public int getItemCount() {
return slipList.size();
}
public class LessonDataHolder extends RecyclerView.ViewHolder {
public BlurLayout samplelayout;
private TextView nameOfSlip;
private ImageView slipImage;
private Context context;
public LessonDataHolder(View itemView) {
super(itemView);
context = itemView.getContext();
nameOfSlip = (TextView) itemView.findViewById(R.id.demoText);
slipImage = (ImageView) itemView.findViewById(R.id.imageViewDemoVideo);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
{
Log.d("ashu", " clicked " + getAdapterPosition());
}
}
});
}
public void bindSlip(VideoList videoList) {
nameOfSlip.setText(videoList.stringSlipName);
slipImage.setImageResource(videoList.stringImage);
}
}
public class VideoList {
public String stringSlipName;
public int stringImage;
public VideoList(String stringSlipName, int stringImage) {
this.stringImage = stringImage;
this.stringSlipName = stringSlipName;
}
}
}
【问题讨论】:
-
如果您的意思是 clickListener 没有触发,那么请发布更多关于您真正想要做什么的详细信息以及您的查看器的 xml 以及您将上述代码放在哪里。使用日志记录来验证点击侦听器是否正在触发
-
首先检查点击监听器是否被调用。您还为
getAdapterPosition添加了条件。我认为以这种方式膨胀是不对的。请参阅此库以获取悬停视图:github.com/daimajia/AndroidViewHover -
@AkshayChordiya 是的,我使用的是同一个库,你用过吗?
-
不,我没用过。您能否详细说明您面临的问题?
-
请分享您的 viewHolder xml。根据您上面的代码,单击侦听器将仅针对 recyclerView 的第一项触发
标签: android android-recyclerview hover onclicklistener