mardi 1 mars 2016

android hashmap java.lang.ClassCastException: java.lang.Integer cannot be cast to java.util.Map$Entry

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