inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

하울의 안드로이드 인스타그램 클론 만들기

하울스타그램 상세화면 페이지 만들기

게시글이 뜨지 않습니다.

374

모우지

작성한 질문수 1

0

'상세화면 페이지 만들기' 강의를 공부하는 중입니다.

코드를 그대로 받아적었는데도,

앱을 실행하면 메인화면에 게시글이 뜨지 않습니다.

DetailViewFragment.kt 코드를 아래와 같이 작성하였습니다.

package com.example.instaclone.navigation

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.example.instaclone.R
import com.example.instaclone.navigation.model.ContentDTO
import com.google.firebase.firestore.FirebaseFirestore
import kotlinx.android.synthetic.main.fragment_detail.view.*
import kotlinx.android.synthetic.main.item_detail.view.*

class DetailViewFragment : Fragment() {
    var firestore: FirebaseFirestore? = null

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        var view = LayoutInflater.from(activity).inflate(R.layout.fragment_detail, container, false)
        firestore = FirebaseFirestore.getInstance()

        view.detailviewfragment_recyclerview.adapter = DetailViewRecyclerViewAdapter()
        view.detailviewfragment_recyclerview.layoutManager = LinearLayoutManager(activity)
        return view
    }

    inner class DetailViewRecyclerViewAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
        var contentDTOs: ArrayList<ContentDTO> = arrayListOf()
        var contentUidList: ArrayList<String> = arrayListOf()

        init {
            firestore?.collection("images")?.orderBy("timestamp")?.addSnapshotListener { querySnapshot, firebaseFirestoreException ->
                contentDTOs.clear()
                contentUidList.clear()
                for (snapshot in querySnapshot!!.documents) {
                    var item = snapshot.toObject(ContentDTO::class.java)
                    contentDTOs.add(item!!)
                    contentUidList.add(snapshot.id)
                }
                notifyDataSetChanged()
            }
        }

        override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
            var view = LayoutInflater.from(parent.context).inflate(R.layout.item_detail, parent, false)
            return CustomViewHolder(view)

        }

        inner class CustomViewHolder(view: View) : RecyclerView.ViewHolder(view)

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

        override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
            var viewholder = (holder as CustomViewHolder).itemView

            // User Id
            viewholder.detailviewitem_profile_textview.text = contentDTOs!![position].userId

            // Image
            Glide.with(holder.itemView.context).load(contentDTOs!![position].imageUrl).into(viewholder.detailviewitem_imageview_content)

            // Explain
            viewholder.detailviewitem_explain_textview.text = contentDTOs!![position].explain

            // likes
            viewholder.detailviewitem_favoritecounter_textview.text = "Likes "+ contentDTOs!![position].favoriteCount

            // ProfileImage
            Glide.with(holder.itemView.context).load(contentDTOs!![position].imageUrl).into(viewholder.detailviewitem_profile_image)
        }

    }
}

android kotlin 클론코딩

답변 5

1

모우지

Cloud Firestore 말씀하시는거면, 안에 데이터 있습니다!

1

하울

혹시 images collection 안에 데이터가 있는지요?  

0

xodid3531

저도 안뜹니다...

0

Han Sungbin

8강에 오타가 있습니다.

강의에 images 로 되어있는데 image로 고치면 게시물이 나오기는 합니다.

근데 다 정상으로 나오지는 않습니다.

inner class DetailViewRecyclerViewAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder>(){
var contentDTO : ArrayList<ContentDTO> = arrayListOf()
var contentUidList : ArrayList<String> = arrayListOf()

init {
firestore?.collection("image")?.orderBy("timestamp")?.addSnapshotListener {querySnapshot , firebaseFirestoreExcetion ->
contentDTO.clear()
contentUidList.clear()

for(snapshot in querySnapshot!!.documents){
var item = snapshot.toObject(ContentDTO::class.java)
contentDTO.add(item!!)
contentUidList.add(snapshot.id)
}
notifyDataSetChanged()
}

}

0

김규현

저도 동일한 현상이 나옵니다. 에러메시지는 한줄도 없는데 게시글이 뜨질 않네요.

CloudFireStore에 데이터가 들어가지 않아요

0

74

1

firebase storage에서 putfile해도 이미지 업로드가 안되요..

0

96

1

1강 AndroidManifest.xml 코드 오류

0

465

1

도와주세요 ㅠㅠ

0

403

1

게시물이 뜨지 않습니다.(detail_veiw)

0

382

0

NavigationBarView 사용법 변경으로 인한 네비게이션 바 애니메이션 적용법

0

509

1

안드로이드 11 이상부터 startActivityForResult 지원 안하므로 다른 방법 이용

0

360

1

bottom_navigation 오류

0

425

1

게시물을 최신게시물순으로 하고싶은데 어떻게 하면 될까요..?ㅠ

0

269

1

오류..? 에러..?

0

472

0

페이스북 로그인

0

355

0

댓글 activity에서 mainActivity의 userFragment 이동 방법관련..

0

366

1

댓글activity에서 userId를 클릭했을 때

0

294

1

파이어베이스 연결에서 막힙니다,,

0

399

1

파이어베이스 이미지url Glide로 불러올 때 에러

1

554

1

- 혹시 사진 업로드 여러장 되게 할수 있는 방법이 있을까요??

0

419

1

화면전환시 색깔이 안나오고 흰바탕입니다

0

260

1

Facebook공식 문서에서 제공해주는 최신 SDK 오류

1

282

0

startActivityForResult와 onActivityResult는 이제 안드로이드 스튜디오에서 못쓰게 하는데 어떻게 수정 해야 할까요?

0

389

1

google 계정 선택창이 아예 뜨지 않습니다.

0

298

1

로그인 시 에러

0

313

0

3강에서 startActivityForResult 사용불가 문제

0

446

1

인스타그램 자바언어로 하는 클론코딩은 없을까요?

0

1692

1

mainfest 오류

1

240

0