Android RecyclerView单击侦听器不工作
我的回收器视图单击侦听器不工作 还有我的Android RecyclerView单击侦听器不工作,android,android-recyclerview,Android,Android Recyclerview,我的回收器视图单击侦听器不工作 还有我的adapter.setClickListner(这个)主活动中显示错误的行无法解决clicklistner,我在这里做错了什么 我的适配器类在这里: public class TimeAdaptra extends RecyclerView.Adapter<TimeAdaptra.RecyclerViewHolder> { ArrayList<String> time, status; Clicklistner clic
adapter.setClickListner(这个)代码>主活动中显示错误的行无法解决clicklistner,我在这里做错了什么
我的适配器类在这里:
public class TimeAdaptra extends
RecyclerView.Adapter<TimeAdaptra.RecyclerViewHolder> {
ArrayList<String> time, status;
Clicklistner clicklistner;
public TimeAdaptra(ArrayList<String> title, ArrayList<String> dec) {
this.time = title;
this.status = dec;
}
@Override
public RecyclerViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.time_slice, parent, false);
RecyclerViewHolder recyclerViewHolder = new RecyclerViewHolder(view);
return recyclerViewHolder;
}
@Override
public void onBindViewHolder(RecyclerViewHolder holder, int position) {
holder.myTitle.setText(time.get(position));
holder.mydec.setText(status.get(position));
}
public void setClicklistner(Clicklistner clicklistner) {
this.clicklistner = clicklistner;
}
@Override
public int getItemCount() {
return time.size();
}
public static class RecyclerViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView myTitle;
TextView mydec;
public RecyclerViewHolder(View view) {
super(view);
view.setOnClickListener(this);
myTitle = (TextView) view.findViewById(R.id.timee);
mydec = (TextView) view.findViewById(R.id.status);
}
@Override
public void onClick(View view) {
}
}
public interface Clicklistner {
public void itemClicked(View view, int position);
}
}
您没有调用侦听器:
public static class RecyclerViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView myTitle;
TextView mydec;
public RecyclerViewHolder(View view) {
super(view);
view.setOnClickListener(this);
myTitle = (TextView) view.findViewById(R.id.timee);
mydec = (TextView) view.findViewById(R.id.status);
}
@Override
public void onClick(View view) {
//Call your click listener here
if( clickListener != null )
clickListener.itemClicked(view, getAdapterPostion());
}
}
请发布您的日志猫将onClickListener连接到适配器,您想做什么?您应该将侦听器添加到适配器内的列表项视图中。@GueorguiObregon Attached logcat编译时或运行时是否出错?在所有情况下,您都需要在public void onClick(View)
方法中执行一些操作。因为你在里面什么都没做,所以点击丢失了。也许对你有帮助
04-15 02:53:03.668 10814-10814/bhopal.looks.com.lookssalon I/Timeline:
Timeline: Activity_launch_request id:bhopal.looks.com.lookssalon
time:98591744
04-15 02:53:03.777 10814-10814/bhopal.looks.com.lookssalon D/Item: Clicked
04-15 02:53:03.945 10814-10814/bhopal.looks.com.lookssalon I/Timeline:
Timeline: Activity_idle id: android.os.BinderProxy@3840079c time:98592021
04-15 02:53:06.115 10814-10814/bhopal.looks.com.lookssalon
D/DatePickerDialog: onCreateView:
04-15 02:53:07.164 10814-10814/bhopal.looks.com.lookssalon I/Timeline:
Timeline: Activity_launch_request id:bhopal.looks.com.lookssalon
time:98595240
04-15 02:53:07.448 10814-10814/bhopal.looks.com.lookssalon I/Timeline:
Timeline: Activity_idle id: android.os.BinderProxy@1416d0da time:98595524
04-15 02:53:09.614 10814-10814/bhopal.looks.com.lookssalon I/Timeline:
Timeline: Activity_launch_request id:bhopal.looks.com.lookssalon
time:98597689
04-15 02:53:10.113 10814-10814/bhopal.looks.com.lookssalon I/Timeline:
Timeline: Activity_idle id: android.os.BinderProxy@4f5e79a time:98598188
04-15 02:53:10.934 10814-10841/bhopal.looks.com.lookssalon D/OpenGLRenderer:
endAllStagingAnimators on 0xb87bbc68 (RippleDrawable) with handle
0xb8897818
public static class RecyclerViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView myTitle;
TextView mydec;
public RecyclerViewHolder(View view) {
super(view);
view.setOnClickListener(this);
myTitle = (TextView) view.findViewById(R.id.timee);
mydec = (TextView) view.findViewById(R.id.status);
}
@Override
public void onClick(View view) {
//Call your click listener here
if( clickListener != null )
clickListener.itemClicked(view, getAdapterPostion());
}
}