如何修复这个 j java.lang.ClassCastException: cannot be cast to

问题描述

*** java.lang.classCastException: com.makeramen.roundedimageview.RoundedImageView 无法转换为 androidx.recyclerview.widget.RecyclerView***

片段java代码-

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,"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;
}

}

适配器 -

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);
    }
}

}

片段 XML 代码

<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" />

错误

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

请帮帮我,伙计们...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)