Я не вижу свой вид переработчика в студии AndroidAndroid

Форум для тех, кто программирует под Android
Ответить
Гость
 Я не вижу свой вид переработчика в студии Android

Сообщение Гость »


Я делаю клон Instagram в студии Android с помощью Kotlin. Я использую Firebase. Проблема в том, что я не вижу представления переработчика комментариев на экране сведений о публикации. Я проверил свой список комментариев, это правда. Итак, мой комментарийList.value верен. Но я не вижу своего представления переработчика. А также я устанавливаю пустой текст, если комментариев нет, но я тоже его не вижу. Это мои коды ->

class DetailedPostActivity : AppCompatActivity() { val auth = Firebase.auth частная привязка lateinit var: ActivityDetailedPostBinding частная lateinit var viewmodel: DetailedPostViewmodel частный lateinit var post: Сообщение частный адаптер lateinit var: CommentsAdapter переопределить fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) привязка = ActivityDetailedPostBinding.inflate(layoutInflater) setContentView(binding.root) привязка.commentRecyclerView.layoutManager = LinearLayoutManager(this@DetailedPostActivity) адаптер = CommentsAdapter(arrayListOf()) привязка.комментарийRecyclerView.adapter = адаптер post = Intent.getSerializableExtra("post") как сообщение viewmodel = ViewModelProvider(this@DetailedPostActivity).get(DetailedPostViewmodel::class.java) viewmodel.getData(post.postId) наблюдатьLiveData() привязка.sendBtn.setOnClickListener { send(it) } привязка.likeBtn.setOnClickListener { нравится (оно) } } весело наблюдатьLiveData() { viewmodel.postLiveData.observe(this@DetailedPostActivity, Observer {post -> пытаться { привязка.postEmailText.setText(HomePageActivity.hashMapUsers.get(post.userId)!!.email) Picasso.get().load(HomePageActivity.hashMapUsers.get(post.userId)!!.userPhotoUrl) .into(binding.profilePhotoImageView) } catch (e: Exception) { println(e.printStackTrace()) } binding.likeCountDetail.setText("${post.likedUsers.size} можно изменить") Picasso.get().load(post.imageUrl).into(binding.postImageView) }) viewmodel.commentsLiveData.observe(this@DetailedPostActivity, Observer { commentList -> если (!commentList.isEmpty()) { адаптер.yorumlariGuncelle(список комментариев) привязка.комментарийRecyclerView.visibility = Вид.VISIBLE привязка.nullCommentText.visibility = Вид.GONE } еще { привязка.комментарийRecyclerView.visibility = Вид.GONE привязка.nullCommentText.visibility = Вид.VISIBLE } }) viewmodel.nullLiveData.observe(this@DetailedPostActivity, Observer { bool -> если (бул) { привязка.nullCommentText.visibility = Вид.VISIBLE привязка.комментарийRecyclerView.visibility = Вид.GONE } еще { привязка.nullCommentText.visibility = Вид.GONE } }) } личное развлечение send(view: View) { val commentText =binding.commentText.text.toString() привязка.комментарийТекст.текст.clear() если (!commentText.isEmpty()) { val comment = Comment(auth.uid!!, post.postId, commentText) viewmodel.addComment(комментарий) адаптер.notifyDataSetChanged() }еще{ Toast.makeText(this@DetailedPostActivity, "Yorum Yazınız!", Toast.LENGTH_LONG).show() } } частное развлечение лайк(просмотр: Просмотр){ val userId = auth.uid val user = HomePageActivity.hashMapUsers.get(userId) пользователь?.let {пользователь-> если (user.userId в post.likedUsers) { post.likedUsers.remove(user.userId) привязка.likeBtn.setText("НРАВИТСЯ") }еще{ post.likedUsers.add(user.userId) привязка.likeBtn.setText("НРАВИТСЯ") } адаптер.notifyDataSetChanged() } } } class DetailedPostViewmodel(application: Application) : AndroidViewModel(application) { val firestore = Firebase.firestore val postLiveData = MutableLiveData() val commentLiveData = MutableLiveData() val nullLiveData = MutableLiveData() val commentList = ArrayList() весело getData(postId:String) { nullLiveData.value = ложь //******ИЛГИЛИ ПОСТУ АЛИОРУЗ********** firestore.collection("Сообщения").document(postId).get().addOnSuccessListener { вал hashmap = it.data хэш-карта?.let{хэш-карта-> val userId = hashmap["userId"] как? Нить val imageUrl = hashmap["imageUrl"] как? Нить val контур = hashmap["контур"] как? Нить if(userId != null && imageUrl != null && контур != ноль){ val post = Post(userId,imageUrl,outline) postLiveData.value = сообщение } } } //************* ПРИНИМАЕМ КОММЕНТАРИИ ************** firestore.collection("Сообщения").document(postId) .collection("Комментарии").orderBy("дата",Query.Direction.DESCENDING) .addSnapshotListener { значение, ошибка -> если (ошибка!= ноль) { Toast.makeText(getApplication(), error.localizedMessage, Toast.LENGTH_LONG) .показывать() } еще { if (value != null && !value.isEmpty) { val документы = value.documents комментарийСписок.очистить() for (документ в документах) { val commentMap = document.get("комментарий") как? Карта commentMap?.let { карта -> val userId = карта["userId"] как? Нить val commentText = карта["commentText"] как? Нить if (userId != null && commentText != null) { commentList.add(Комментарий(userId, postId, commentText)) } } } println (список комментариев) commentLiveData.value = список комментариев } еще { nullLiveData.value = правда } } } } весело addComment(комментарий:Комментарий){ firestore.collection("Сообщения").document(comment.postId) .collection("Комментарии") .add(hashMapOf("комментарий" к комментарию, "дата" к Timestamp.now())) .addOnSuccessListener { Toast.makeText(getApplication(),"YORUMUNUZ PAYLAŞILDI!",Toast.LENGTH_SHORT).show() getData(comment.postId) }.addOnFailureListener { Toast.makeText(getApplication(),"ЙОРУМ ЯПИЛАМАДИ!",Toast.LENGTH_LONG).show() } } }пакет com.example.firebaseneme.adapter импортировать android.view.LayoutInflater импортировать android.view.ViewGroup импортировать androidx.databinding.DataBindingUtil импортировать androidx.recyclerview.widget.RecyclerView импортировать com.example.firebaseneme.R import com.example.firebasedeneme.databinding.RecyclerCommentRowBinding импортировать com.example.firebaseneme.model.Comment импортировать com.example.firebaseneme.views.HomePageActivity класс CommentsAdapter(val commentList:ArrayList) : RecyclerView.Adapter(){ внутренний класс CommentVH (valbinding:RecyclerCommentRowBinding): RecyclerView.ViewHolder(binding.root) { } переопределить удовольствие onCreateViewHolder(родитель: ViewGroup, viewType: Int): CommentVH { привязка val = DataBindingUtil.inflate(LayoutInflater.from(parent.context), R.layout.recycler_comment_row,parent,false) вернуть комментарийVH (привязка) } переопределить удовольствие getItemCount(): Int { вернуть комментарийList.size } переопределить удовольствие onBindViewHolder(держатель: CommentVH, позиция: Int) { /*holder.binding.postEmailText.text = HomePageActivity.hashMapUsers.get(commentList[position].userId)!!.email Holder.binding.yorumTextView.text = commentList[позиция].commentText //Picasso.get().load(HomePageActivity.hashMapUsers.get(commentList[position].userId)!!.userPhotoUrl).into(holder.binding.profilePhotoImageView) */ val comment = commentList[позиция] Holder.binding.comment = комментарий val user = HomePageActivity.hashMapUsers.get(comment.userId) пользователь?.let{ Holder.binding.user = пользователь } } весело yorumlariGuncelle(newCommentList:ArrayList){ комментарийСписок.очистить() commentList.addAll(новыйCommentList) уведомитьDataSetChanged() } } >
Изображение

Ответить

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

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

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

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

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