Мой файл макета не отображается в setContent (файл R.layout.xml)..?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Мой файл макета не отображается в setContent (файл R.layout.xml)..?

Сообщение Anonymous »

Я написал свой код, но в коде, когда я использую view = ..(R.layout.my_message), отображается ошибка, поскольку такого файла не существует, хотя он уже создан. При повторном переписывании имени я получил опцию Activity_list_item, которой нет в моем коде. Что мне делать, чтобы получить XML-файл макета?

Структура проекта
Изображение


Я много пробовал и искал, но ничего не нашел.

Код: Выделить всё

    class MessageAdapter(val context: Context) : RecyclerView.Adapter(){

companion object {
const val VIEW_TYPE_MESSAGE_SENT = 1
const val VIEW_TYPE_MESSAGE_RECEIVED = 2
}

private val messages: ArrayList = ArrayList()

fun addMessage(message: Message){
messages.add(message)
notifyDataSetChanged()
}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MessageViewHolder {
val view: View

if (viewType == VIEW_TYPE_MESSAGE_SENT) {
view= LayoutInflater.from(parent.context).inflate(R.layout.my_message, parent, false)
return MessageViewHolder(view)
} else  {
view = LayoutInflater.from(parent.context).inflate(R.layout.other_message, parent, false)
return OtherMessageViewHolder(view)
}

}

override fun getItemCount(): Int {
return messages.size
}

override fun onBindViewHolder(holder: MessageViewHolder, position: Int) {
val message = messages.get(position)

holder.bind(message)
}

open inner class MessageViewHolder(view : View) : RecyclerView.ViewHolder(view){
private var messageText = view.txtMyMessage
private var timeText = view.txtMyMessageTime
open fun bind(message: Message){
messageText.text = message.message
timeText.text = fromMillisToTimeString(millis = message.time)
}
}

inner class OtherMessageViewHolder (view: View) : MessageViewHolder(view) {

internal var messageText: TextView
internal var timeText: TextView
internal var nameText: TextView
internal var profileImage: ImageView

init {

messageText = itemView.text_message_body as TextView
timeText = itemView.text_message_time as TextView
nameText = itemView.text_message_name as TextView
profileImage = itemView.image_message_profile as ImageView
}

fun bind(message: Message) {
messageText.text = message.message
timeText.text = fromMillisToTimeString(message.time)
Utils.displayRoundImageFromUrl(context, message.getSender().getProfileUrl(), profileImage);
}
}
object DateUtils {
fun fromMillisToTimeString(millis: Long) : String {
val format = SimpleDateFormat("hh:mm a", Locale.getDefault())
return format.format(millis)
}
}
override fun getItemViewType(position: Int): Int {
val message = messages.get(position)

return if(message.isSending){
VIEW_TYPE_MESSAGE_SENT
} else {
VIEW_TYPE_MESSAGE_RECEIVED
}
}

}
Ожидается:

Код: Выделить всё

(R.layout.my_message, parent, false)
(R.layout.other_message, parent, false)
Фактическое:

Код: Выделить всё

other_message
и my_message являются неразрешенными ссылками.

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

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

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

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

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

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

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