DetailViewFragment 화면 오류
262
작성한 질문수 1
이런식으로 DetailViewFragment에서 이런식으로 코드를 짜주었는데 앱을 실행시키면 반영이 안되고 전에 설정해주었던 색만 뜹니다.. 무슨 오류일까요
ackage com.example.instargram_cloncoding.navigation
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.example.instargram_cloncoding.R
import com.example.instargram_cloncoding.navigation.DataModle.ContentDTO
import com.google.firebase.firestore.FirebaseFirestore
import com.google.firebase.firestore.QuerySnapshot
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.findViewById<RecyclerView>(R.id.DetailViewfFagment_Recyclerview).adapter = DetailViewRecyclerViewAdapter()
view.findViewById<RecyclerView>(R.id.DetailViewfFagment_Recyclerview).layoutManager = LinearLayoutManager(activity)
return view
}
//디테일뷰의 아이템과 디테일뷰 layout을 합치는 어뎁터
inner class DetailViewRecyclerViewAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder>(){
var contentDTOs : ArrayList<ContentDTO> = arrayListOf()
var contentUIDList : ArrayList<String> = arrayListOf()
var querySnapshot : QuerySnapshot? = null
init {
//시간순으로 이미지들을 받아오고 만약 연결된 주소의 데이터가 바뀌면 바때마다 자동으로 업데이트해줌
firestore?.collection("images")?.orderBy("timestamp")
?.addSnapshotListener{ querySnapshot, firebaseFirestoreExcepthion ->
contentDTOs.clear()
contentUIDList.clear()
for (snapshot in querySnapshot!!.documents) {
var item = snapshot.toObject(ContentDTO::class.java)
contentDTOs.add(item!!)
contentUIDList.add(snapshot.id)
}
notifyDataSetChanged()//값 새로고침 자동으로!
}
}
//화면을 최초 로딩하여 만들어진 View가 없는 경우, xml파일을 inflate하여 ViewHolder를 생성한다.
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)
//위의 onCreateViewHolder에서 만든 view와 실제 입력되는 각각의 데이터를 연결한다.
//서버에서 넘어온 데이터들을 연결!
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
val viewholder = (holder as CustomViewHolder).itemView
viewholder.findViewById<TextView>(R.id.detailviewitem_profile_nameTextview).text = contentDTOs[position].userId
//Image
Glide.with(holder.itemView.context).load(contentDTOs[position].imageUrl).into(viewholder.findViewById(R.id.detailviewitem_imageview_content))
//Explain of content
viewholder.findViewById<TextView>(R.id.detailviewitem_explan_textview).text = contentDTOs[position].explain
//likes
viewholder.findViewById<TextView>(R.id.detailviewitem_favoriteconter_textview).text = "Likes" + contentDTOs!![position].favoriteCount
//Profile Image
Glide.with(holder.itemView.context).load(contentDTOs[position].imageUrl).into(viewholder.findViewById(R.id.detailviewitem_profile_image))
//
// //User Id
// var profile = binding.detailviewitemProfileNameTextview
//
// //User Id 유저 이름
// profile.text = contentDTOs!![position].userId
//
// //Image 사진
// Glide.with(holder.itemView.context).load(contentDTOs!![position].imageUrl).into(binding.detailviewitemImageviewContent)
//
// //Explan 유저글
// binding.detailviewitemExplanTextview.text = contentDTOs!![position].explain
//
// //Likes 좋아요 개수 카운트
// binding.detailviewitemFavoriteconterTextview.text = "Liks" + contentDTOs!![position].favoriteCount
//
// //ProfileImage 유저 프로파일 이미지 즉, 프로필사진
// Glide.with(holder.itemView.context).load(contentDTOs!![position].imageUrl).into(binding.detailviewitemProfileImage)
}
//RecyclerView로 만들어지는 item의 총 개수를 반환한다.
override fun getItemCount(): Int {
return contentDTOs.size
}
}
}
답변 0
CloudFireStore에 데이터가 들어가지 않아요
0
74
1
firebase storage에서 putfile해도 이미지 업로드가 안되요..
0
94
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
553
1
- 혹시 사진 업로드 여러장 되게 할수 있는 방법이 있을까요??
0
419
1
화면전환시 색깔이 안나오고 흰바탕입니다
0
259
1
Facebook공식 문서에서 제공해주는 최신 SDK 오류
1
282
0
startActivityForResult와 onActivityResult는 이제 안드로이드 스튜디오에서 못쓰게 하는데 어떻게 수정 해야 할까요?
0
389
1
google 계정 선택창이 아예 뜨지 않습니다.
0
298
1
로그인 시 에러
0
311
0
3강에서 startActivityForResult 사용불가 문제
0
444
1
인스타그램 자바언어로 하는 클론코딩은 없을까요?
0
1690
1
mainfest 오류
1
239
0





