您提供的代码会在第7章第28行上抛出“未解决的引用”错误。

28 listsrecyclerview = findViewById(r.id.lists_recyclerview)

“lists_recyclerview”在Android Studio 3.4.2中抛出错误

代码中需要更改哪些允许此才能编译?

谢谢!

谢谢你的评论。我在书队中循环,让你答案。谢谢! - 埃里克

你好 @andkot.,

欢迎来到论坛,很遗憾听到您在第7章示例代码中运行错误。

使用Android Studio 3.4.2在MacOS上,在最终项目中不会在最终项目中显示错误。这并不意味着没有问题。

我想知道是否有一组步骤,你遵循才能显示错误,也是你的机器运行不同的操作系统吗?

如果您可以提供任何此信息,以及其他相关的信息,可以有助于继续弄清楚发生了什么。

谢谢,

达里尔

你好达里尔,

谢谢你的帮助!

好的,如此明显差异:
Win10
Gradle 5.1.1.

如果使用Gradle 5.1.1,图书馆都不同,所以我认为问题可能在这里:


导入Android.OS.Bundle.
导入com.google.android.material.snackbar.snackbar.
导入androidx.appcompat.app.AppCompatactivity.
导入Android.view.Menu.
导入Android.view.menuitem.
导入androidx.recyclerview.widget.linearlayoutManager.
导入androidx.recyclerview.widget.recyclerview.

导入kotlinx.android.synthetic.main.activity_main。*


当我用释放它的Gradle版本运行最终项目时,它会编译Fine。只有当我使用具有较新库和Gradle 5.1.1的代码时,编译器才会在“lists_recylerview”上抛出未解决的参考错误。

再次感谢你。

@ andkot1.,

感谢您的额外信息,它很有用。

我再次打开项目并更新它以使用Gradle 5.1.1和Androidx库。这应该类似于您机器上项目的设置。

项目编译和应用程序将显示在仿真器中。

下一步我们可以尝试查看您的项目,看看可能是不同的。是否有可能在某处上传您的项目以查看?

谢谢,

达里尔

在这里,你是:

//www.filedropper.com/listmakerandkot1

再次感谢你花时间帮助我,非常令人沮丧,在取得了很好的进展之后,陷入困境,而不是理解为什么。

如果它的价值,我不认为它的错误错误,我可以通过使用最终项目本身来重新创建此错误,然后更新Gradle,然后抛出错误。但是让我知道......

谢谢!!

杰出的!

看着这个项目,有一些东西。

  1. content_main.xml. Recyclerview没有ID。没有ID,应用程序无法找到回收并抛出错误。通过添加来解决此问题 ID 到recyclerview in content_main.xml. like so:

     <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/lists_recyclerview" <--- Add this attribute
         android:layout_width="0dp"
         android:layout_height="0dp"
         app:layout_constraintBottom_toTopOf="@+id/textView"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent"/>
    
  2. list_selection_view_holder.xml. 包含两个TextViews,只有与ID的TextView 项目编号 是必要的。 TextView的布局边距也设置为 16,改变这个 16dp。这 DP. 允许该应用了解用于设置TextView边距的使用是什么测量类型。

textview in. list_selection_view_holder.xml. will look like:

   <TextView
        android:text="TextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:id="@+id/itemNumber"
        android:layout_margin="16dp"/> <--- Make sure the dp is added here

使用更改,运行应用程序。错误将不再出现。

我希望这有助于你,让我们知道你是如何进入的。

谢谢,

达里尔

达里尔,

  1. 你是男人。

  2. 我不能为此采取问责制,所以我会责怪哈迪哈里里。

-eof-

听起来就像一切都可以。 :least_smile:

我们希望您享受剩下的书!

达里尔