I have a recyclerview containing a checkbox which when checked should accept the getAdapterPosition() of RecyclerAdapter and checked state(boolean) of checkbox as key and value in hashmap.getAdapterPosition is converted to Integer object.When the checkbox is checked it gives the following error.
Error:
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.util.Map$Entry
at com.example.jobinsabu.destination.TourPlacesRecyclerAdapter$RecyclerHolder$1.onChange(TourPlacesRecyclerAdapter.java:89)
at com.github.lguipeng.library.animcheckbox.AnimCheckBox.setChecked(AnimCheckBox.java:291)
at com.github.lguipeng.library.animcheckbox.AnimCheckBox.setChecked(AnimCheckBox.java:264)
at com.github.lguipeng.library.animcheckbox.AnimCheckBox$1.onClick(AnimCheckBox.java:74)
at android.view.View.performClick(View.java:5198)
at android.view.View$PerformClick.run(View.java:21147)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
TourPlacesRecyclerAdapter.java:(Full java class not included)
public class RecyclerHolder extends RecyclerView.ViewHolder{
HashMap<Integer,Boolean> hashMap;
AnimCheckBox checkBox;
public RecyclerHolder(final View itemView) {
super(itemView);
checkBox=(AnimCheckBox) itemView.findViewById(R.id.checkBox);
checkBox.setChecked(false);
checkBox.setOnCheckedChangeListener(new AnimCheckBox.OnCheckedChangeListener() {
@Override
public void onChange(boolean checked) {
if(checkBox.isChecked()){
boolean check=true;
clicked_position=getAdapterPosition();
i=new Integer(clicked_position);
hashMap.put(i, check);
Toast.makeText(context,"You checked item:"+getAdapterPosition(),Toast.LENGTH_SHORT).show();
Set s=hashMap.keySet();
Iterator i=s.iterator();
while (i.hasNext()){
Map.Entry entry=(Map.Entry)i.next();
Log.e("Position"+entry.getKey().toString(),"Status"+entry.getValue().toString());
}
SharedPreferences sharedPreferences=context.getSharedPreferences("Main",Context.MODE_PRIVATE);
bt_click_status=sharedPreferences.getBoolean("Btnheck",false);
Log.e("Entered",Boolean.toString(bt_click_status));
}
}
});
}}
Aucun commentaire:
Enregistrer un commentaire