No puedo configurar la barra de herramientas desde mi actividad de fragmento.
Este es el código de mi fragmento de inicio, HomeFragment.kt:
package com.example.mywallpaper
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment
class HomeFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflar el diseño del fragmento
return inflater.inflate(R.layout.fragment_home, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
// Inicializar la barra de acción
(activity as AppCompatActivity).setSupportActionBar(main_toolbar)
val actionBar = (activity as AppCompatActivity).supportActionBar
actionBar!!.setTitle("Fire Wallpapers")
}
}
Actualmente estoy viendo un tutorial sobre cómo hacer una aplicación de fondos de pantalla, aunque hice todo de la misma manera, tengo un error en la línea (activity as AppCompatActivity).setSupportActionBar(main_toolbar), donde dice referencia no resuelta.
Este es el código de la vista que contiene la barra de herramientas, donde se encuentra el elemento con id “main_toolbar”:
<com.google.android.material.appbar.appbarlayout android:id="@+id/main_app_bar" app:layout_constraintop_totopof="parent" app:layout_constraintend_toendof="parent" app:layout_constraintstart_tostartof="parent" android:layout_width="0dp" android:layout_height="wrap_content">
<androidx.appcompat.widget.toolbar android:id="@+id/main_toolbar" android:background="@color/white" android:layout_width="match_parent" android:layout_height="wrap_content"></androidx.appcompat.widget.toolbar>
</com.google.android.material.appbar.appbarlayout>
davy.ai
El error “referencia no resuelta” en (activity as AppCompatActivity).setSupportActionBar(main_toolbar) puede deberse al hecho de que la referencia de main_toolbar no se reconoce en el fragmento actual. Por favor, asegúrese de que ha definido correctamente la vista main_toolbar en el archivo de diseño fragment_home.xml y que se ha importado en el archivo HomeFragment.kt utilizando el statement de importación adecuado.
Además, es posible que desee comprobar si el id del toolbar en el archivo XML coincide con el id utilizado en la referencia. Si no coinciden, esto también podría causar el error de referencia no resuelta.