在此输入图像描述 正如您在上面的代码中看到的,即使我在 content_photo_details.xml 中使用 ID:photo_title 创建了一个 TextView,也无法识别具有 id:photo_title 的 Textview。
我是一名初学者,正在使用教程创建图像显示应用程序。 我希望应用程序在单击时显示照片和信息。到目前为止,该应用程序运行顺利,它显示了所有照片,但当我尝试包含用于显示完整照片的代码时,我遇到了这个问题。
我提供了content_photo_details.xml和activity_photo_details.xml的代码
照片详细信息活动.kt:
package com.example.flickrbrowser
import android.os.Bundle
import com.example.flickrbrowser.databinding.ActivityPhotoDetailsBinding
import com.squareup.picasso.Picasso
class PhotoDetailsActivity : BaseActivity() {
private lateinit var binding: ActivityPhotoDetailsBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityPhotoDetailsBinding.inflate(layoutInflater)
setContentView(binding.root)
// setContentView(R.layout.activity_photo_details)
activateToolbar(true)
val photo = intent.getSerializableExtra(PHOTO_TRANSFER) as Photo
binding.photo_title.text = photo.title
}
}
activity_photo_details.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".PhotoDetailsActivity">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" />
</com.google.android.material.appbar.AppBarLayout>
<include layout="@layout/content_photo_details" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginEnd="@dimen/fab_margin"
app:srcCompat="@android:drawable/ic_dialog_email" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
content_photo_details.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".PhotoDetailsActivity">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" />
</com.google.android.material.appbar.AppBarLayout>
<include layout="@layout/content_photo_details" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginEnd="@dimen/fab_margin"
app:srcCompat="@android:drawable/ic_dialog_email" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
您似乎提供了一些缺失的代码。然而。我能猜到你的问题。 当 xml 文件中 id 为“photo_title”时。在 kotlin 文件中。它将被称为“photoTitle”。因此,请尝试使用
binding.photoTitle
进行访问。