/
vshmidt
/
llama.cpp
Обзор
Документация
Войти
/
vshmidt
/
llama.cpp
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/llama.android/app/src/main/java/com/example/llama/MessageAdapter.kt
51 строка
2 KB
Naco Siren
llama.android : Rewrite Android binding (w/o cpu_features dep) (#17413)
17 дек 2025, 11:14
Не верифицирован
17 дек 2025, 11:14
5c0d188
Код
Авторство
О чём код?
package com.example.llama import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView import androidx.recyclerview.widget.RecyclerView data class Message( val id: String, val content: String, val isUser: Boolean ) class MessageAdapter( private val messages: List<Message> ) : RecyclerView.Adapter<RecyclerView.ViewHolder>() { companion object { private const val VIEW_TYPE_USER = 1 private const val VIEW_TYPE_ASSISTANT = 2 } override fun getItemViewType(position: Int): Int { return if (messages[position].isUser) VIEW_TYPE_USER else VIEW_TYPE_ASSISTANT } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { val layoutInflater = LayoutInflater.from(parent.context) return if (viewType == VIEW_TYPE_USER) { val view = layoutInflater.inflate(R.layout.item_message_user, parent, false) UserMessageViewHolder(view) } else { val view = layoutInflater.inflate(R.layout.item_message_assistant, parent, false) AssistantMessageViewHolder(view) } } override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { val message = messages[position] if (holder is UserMessageViewHolder || holder is AssistantMessageViewHolder) { val textView = holder.itemView.findViewById<TextView>(R.id.msg_content) textView.text = message.content } } override fun getItemCount(): Int = messages.size class UserMessageViewHolder(view: View) : RecyclerView.ViewHolder(view) class AssistantMessageViewHolder(view: View) : RecyclerView.ViewHolder(view) }