RecycleViewAdapter 在加载它的项目时获取 null 异常

在我的应用程序中,我有一个活动(主要活动),其中有一个显示片段的 ViewPager。现在我有一个片段,里面有一个 RecyclerView。这个 RecyclerView 应该显示“目标”对象列表。每次我运行该应用程序时,它都会崩溃,说它有一个空问题,我认为这可能是因为写东西的顺序。

我试过然后更改顺序,在互联网上搜索其他可能的问题,但没有成功。

fragment_active_goals.xml:


<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".ActiveGoals">


    <androidx.recyclerview.widget.RecyclerView

        android:id="@+id/activeGoalsRecyclerView"

        android:layout_width="match_parent"

        android:layout_height="match_parent" />


</FrameLayout>

goals_list_item.xml:


<?xml version="1.0" encoding="utf-8"?>

<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto"

    android:id="@+id/goalCardParent"

    android:orientation="vertical"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    app:cardCornerRadius="0dp"

    android:clickable="true"

    android:focusable="true"

    android:background="@color/cardview_light_background">

    <androidx.constraintlayout.widget.ConstraintLayout

        android:layout_width="match_parent"

        android:layout_height="match_parent">


        <com.github.abdularis.civ.CircleImageView

            android:id="@+id/goalImage"

            android:layout_width="150dp"

            android:layout_height="0dp"

            app:layout_constraintDimensionRatio="1:1"

            app:layout_constraintStart_toStartOf="parent"

            app:layout_constraintTop_toTopOf="parent"

            app:layout_constraintBottom_toBottomOf="parent"

            app:layout_constraintVertical_bias="0.5"

            android:src="@drawable/active_brain_drawing"/>


慕田峪7331174
浏览 79回答 2
2回答

哈士奇WWW

刚刚想通了!问题出在 goal_list_item.xml (v26) 中……对象的 ID 在某种程度上有所不同,代码无法通过 ID 找到正确的对象。抱歉打扰了,我的坏XD谢谢大家帮助我!

函数式编程

我知道这是一个自定义视图,但如果它扩展了一个普通的 ImageView,你应该改为尝试这个,因为你使用的是可绘制 IDholder.goalImage.setImageDrawable(mContext.getDrawable(goals.get(position).getImageId()));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java