Попробуйте запустить первое приложение для Android, получите ошибку «Адаптер не подключен; пропуск макета»Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Попробуйте запустить первое приложение для Android, получите ошибку «Адаптер не подключен; пропуск макета»

Сообщение Anonymous »

Я пытаюсь заставить работать свое первое приложение для Android с помощью jotlin.
Я следую https://aws.amazon.com/getting-started/hands-on/build -android-app-amplify/
Похоже, что этот пример немного старше кода, который я использую. В частности, в моем build.gradle есть раздел
buildFeatures {
viewBinding true
}

Я внес изменения, которые, по моему мнению, . По крайней мере, теперь он компилируется и работает.
В файле журнала я вижу RecyclerView -->Адаптер не подключен; пропуск макета. Я также не вижу верхнюю панель инструментов, как ожидалось.
Вот связанные файлы
MainActivity.kt
package me.paries.framewithaws

import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.RecyclerView
import me.paries.framewithaws.databinding.ActivityMainBinding
import me.paries.framewithaws.databinding.ContentMainBinding

class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
private lateinit var contentMainBinding: ContentMainBinding

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main)
binding = ActivityMainBinding.inflate(layoutInflater)
setSupportActionBar(binding.toolbar)

contentMainBinding = ContentMainBinding.inflate(layoutInflater);
setupRecyclerView(contentMainBinding.itemList)
}

private fun setupRecyclerView(recyclerView: RecyclerView) {

UserData.notes().observe(this, Observer { notes ->
Log.d(TAG, "Note observer received ${notes.size} notes")

// let's create a RecyclerViewAdapter that manages the individual cells
recyclerView.adapter = NoteRecyclerViewAdapter(notes)
})
}

companion object {
private const val TAG = "MainActivity"
}
}

activity_main.xml















NoteRecyclerViewAdapter.kt
package me.paries.framewithaws

import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView

// this is a single cell (row) in the list of Notes
class NoteRecyclerViewAdapter(
private val values: MutableList?) :
RecyclerView.Adapter() {

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.content_note, parent, false)
return ViewHolder(view)
}

override fun onBindViewHolder(holder: ViewHolder, position: Int) {

val item = values?.get(position)
holder.nameView.text = item?.name
holder.descriptionView.text = item?.description

if (item?.image != null) {
holder.imageView.setImageBitmap(item.image)
}
}

override fun getItemCount() = values?.size ?: 0

inner class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
val imageView: ImageView = view.findViewById(R.id.image)
val nameView: TextView = view.findViewById(R.id.name)
val descriptionView: TextView = view.findViewById(R.id.description)
}
}

content_main.xml







content_note.xml















Подробнее здесь: https://stackoverflow.com/questions/788 ... attached-s
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»