0

*** java.lang.ClassCastException: com.makeramen.roundedimageview.RoundedImageView cannot be cast to androidx.recyclerview.widget.RecyclerView***

Fragment java Code -

public class HomeFragment extends Fragment {


RecyclerView storyRv;
ArrayList<StoryModel> list;

public HomeFragment() {
    // Required empty public constructor

}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view = inflater.inflate(R.layout.fragment_home, container, false);

    storyRv = view.findViewById(R.id.storyRV);

    list = new ArrayList<>();
    list.add(new StoryModel(R.drawable.img_placeholder, R.drawable.vdocam_png, R.drawable.my_dp, "Abhishek"));
    list.add(new StoryModel(R.drawable.img_placeholder, R.drawable.vdocam_png, R.drawable.my_dp, "Abhishek"));
    list.add(new StoryModel(R.drawable.img_placeholder, R.drawable.vdocam_png, R.drawable.my_dp, "Abhishek"));
    list.add(new StoryModel(R.drawable.img_placeholder, R.drawable.vdocam_png, R.drawable.my_dp, "Abhishek"));

    StoryAdapter adapter = new StoryAdapter(list, getContext());
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false);
    storyRv.setLayoutManager(linearLayoutManager);
    storyRv.setNestedScrollingEnabled(false);
    storyRv.setAdapter(adapter);
    return view;
}

}

Adapter -

public class StoryAdapter extends RecyclerView.Adapter<StoryAdapter.viewHolder>{

ArrayList<StoryModel> list;
Context context;

public StoryAdapter(ArrayList<StoryModel> list, Context context) {
    this.list = list;
    this.context = context;
}

@NonNull
@Override
public viewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View view = LayoutInflater.from(context).inflate(R.layout.srtory_rv_design,parent,false);
    return new viewHolder(view);
}

@Override
public void onBindViewHolder(@NonNull viewHolder holder, int position) {

    StoryModel model = list.get(position);
    holder.storyIv.setImageResource(model.getStory());
    holder.profile.setImageResource(model.getProfile());
    holder.liveIv.setImageResource(model.getLiveIv());
    holder.userName.setText(model.getUserName());

}

@Override
public int getItemCount() {
    return list.size();
}

public class viewHolder extends RecyclerView.ViewHolder{

    ImageView storyIv, profile, liveIv;
    TextView userName;

    public viewHolder(@NonNull View itemView) {
        super(itemView);

        storyIv = itemView.findViewById(R.id.story_dg);
        profile = itemView.findViewById(R.id.profile_image_Dg);
        liveIv = itemView.findViewById(R.id.LiveIv);
        userName = itemView.findViewById(R.id.usersName_Iv);
    }
}

}

Fragment XML code

<LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="match_parent">


                <androidx.constraintlayout.widget.ConstraintLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content">


                    <com.makeramen.roundedimageview.RoundedImageView
                        android:id="@+id/storyRV"
                        android:layout_width="@dimen/_130mdp"
                        android:layout_height="@dimen/_85mdp"
                        android:layout_marginStart="16dp"
                        android:scaleType="centerCrop"
                        android:src="@drawable/ic_launcher_background"
                        app:layout_constraintBottom_toBottomOf="parent"
                        app:layout_constraintEnd_toEndOf="parent"
                        app:layout_constraintStart_toStartOf="parent"
                        app:layout_constraintTop_toTopOf="parent"
                        app:riv_border_color="#333333"
                        app:riv_border_width="2dip"
                        app:riv_corner_radius="10dip"
                        app:riv_mutate_background="true"
                        app:riv_tile_mode="repeat" />

errors

java.lang.ClassCastException: com.rishabhharit.roundedimageview.RoundedImageView cannot be cast to androidx.recyclerview.widget.RecyclerView at com.thetechthing.memebook.Fragment.HomeFragment.onCreateView(HomeFragment.java:42) at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2600) at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:881) at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238) at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303) at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:439) at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2079) at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1869) at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1824) at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1727) at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManagerImpl.java:2663) at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManagerImpl.java:2613) at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:246) at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:542) at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:210) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1392) at android.app.Activity.performStart(Activity.java:7252) at android.app.ActivityThread.handleStartActivity(ActivityThread.java:2970) at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180) at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165) at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1831) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:201) at android.app.ActivityThread.main(ActivityThread.java:6806) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)

please help me, guys...

  • you have given id as "storyRV" to imageview and in your fragment class its declared as recyclerview. Therefore when findViewById is executed, its looking for imageview to assign the variable to. Hence the exception since storyRv is declared as recyclerview and not imageview. – Gautam Apr 24 '21 at 18:22
  • Thank you, bro, I have resolved my problem. – Abhishek Jha Apr 25 '21 at 03:11

0 Answers0