k63599514304
@k63599514304
Reviews Written
-
Average Rating
-
Posts
Q&A
๋ถ๋งํฌ ํญ์์ ์ญ์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ค๊ณ ํฉ๋๋ค
์ ์๋ ... ์ฌ๋ ค์ฃผ์ ๊ฑฐ๋ฅผ ์ฐธ๊ณ ๋ก ์ธํฐํ์ด์ค ์ถ๊ฐํด์ ๋ง๋ค์ด๋ดค์ต๋๋ค๊ทผ๋ฐํ์ง๋ง ๋ถ๋งํฌ ํด๋ฆญ์ ๊ฐ์ ์ข ๋ฃ๊ฐ๋๋ ํ์์ด๋ฐ์ํฉ๋๋ค .. ใ ใ ๋ง์ง๋ง์ผ๋ก ์ ๊ฐ ๋ง๊ฒ ํ๋์ง๋ง ๋ด์ฃผ์๋ฉด ์๋ ๊น์? ์ ๋ง์ฃ์กํฉ๋๋ค..์ฝ๋ ์์ธํ ๋ณด์ค๋ ค๋ฉด ๊นํ๋ธ ์ ๋ฒ๊บผ์ ์ ๋ก๋ ํ์ด์.. rvAdapter.setOnItemClickListener(object : BookmarkRVAdapter.OnItemClickListener{ override fun onItemClick(v: View, data: ContentModel, pos : Int) { Intent(context,BookmarkFragment::class.java).apply { Log.d("clicktest:", "ํด๋ฆญ")// var ft: FragmentTransaction = fragmentManager!!.beginTransaction()// ft.detach(Fragment()).attach(Fragment()).commit() addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) }.run { startActivity(this) } } }) ์ด๋ถ๋ถ์์ ๊ณ์ ์ค๋ฅ๊ฐ ๋จ๋๊ฑฐ๊ฐ์๋ฐ.. ใ ใ ใ ใ :(BookmarkRVAdapter.ktpackage com.example.communityapp.contentlistimport android.content.Contextimport android.content.Intentimport android.util.Logimport android.view.LayoutInflaterimport android.view.Viewimport android.view.ViewGroupimport android.widget.ImageViewimport android.widget.TextViewimport android.widget.Toastimport androidx.recyclerview.widget.RecyclerViewimport com.bumptech.glide.Glideimport com.example.communityapp.Rimport com.example.communityapp.databinding.FragmentBookmarkBindingimport com.example.communityapp.fragments.BookmarkFragmentimport com.example.communityapp.utills.FBRefimport com.example.communityapp.utills.FBauthclass BookmarkRVAdapter(val context: Context,val items: ArrayList,val keyList:ArrayList,val bookmarkIdList:MutableList) : RecyclerView.Adapter() {var datas = mutableListOf()override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BookmarkRVAdapter.ViewHolder {val v = LayoutInflater.from(parent.context).inflate(R.layout.content_rv_item, parent, false)return ViewHolder(v)}override fun onBindViewHolder(holder: BookmarkRVAdapter.ViewHolder, position: Int) {holder.bindItem(items[position],keyList[position])}override fun getItemCount(): Int {return items.size }// Click ์ด๋ฒคํธ ์ ์ฉํ๊ธฐ interface OnItemClickListener{fun onItemClick(v:View, data: ContentModel, pos: Int)}private var listener : OnItemClickListener? = null fun setOnItemClickListener(listener : OnItemClickListener) {this.listener = listener}inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {fun bindItem(item: ContentModel,key:String) {itemView.setOnClickListener { Toast.makeText(context, item.title, Toast.LENGTH_SHORT).show()val intent = Intent(context, ContentshowActivity::class.java)intent.putExtra("url", item.webUrl)itemView.context.startActivity(intent)} val contentTitle = itemView.findViewById(R.id.textArea)val imageViewArea = itemView.findViewById(R.id.imageArea)val bookmarkArea=itemView.findViewById(R.id.bookmarkArea)bookmarkArea.setImageResource(R.drawable.bookmark_color)bookmarkArea.setOnClickListener{ Toast.makeText(context, key, Toast.LENGTH_SHORT)Log.d("BookmarkRVAdapter", FBauth.getUid())Log.d("Bookmarkrv:", bookmarkIdList.toString())FBRef.bookmarkRef .child(FBauth.getUid()).child(key).removeValue()val pos = adapterPosition if(pos!= RecyclerView.NO_POSITION){listener?.onItemClick(itemView,item,pos)}// notifyDataSetChanged()} contentTitle.text = item.title Glide.with(context).load(item.imageUrl).into(imageViewArea)}}} BookmarkFragment.kt package com.example.communityapp.fragmentsimport android.content.Intentimport android.os.Bundleimport android.util.Logimport androidx.fragment.app.Fragmentimport android.view.LayoutInflaterimport android.view.Viewimport android.view.ViewGroupimport android.widget.ImageViewimport android.widget.Toastimport androidx.databinding.DataBindingUtilimport androidx.fragment.app.FragmentManagerimport androidx.fragment.app.FragmentTransactionimport androidx.navigation.findNavControllerimport androidx.recyclerview.widget.GridLayoutManagerimport androidx.recyclerview.widget.RecyclerViewimport com.example.communityapp.Rimport com.example.communityapp.contentlist.BookmarkRVAdapterimport com.example.communityapp.contentlist.ContentModelimport com.example.communityapp.databinding.FragmentBookmarkBindingimport com.example.communityapp.utills.FBRefimport com.example.communityapp.utills.FBauthimport com.google.firebase.database.DataSnapshotimport com.google.firebase.database.DatabaseErrorimport com.google.firebase.database.ValueEventListener// TODO: Rename parameter arguments, choose names that matchclass BookmarkFragment : Fragment() {private lateinit var binding: FragmentBookmarkBindinglateinit var rvAdapter: BookmarkRVAdapterval bookmarkIdList = mutableListOf()val items = ArrayList()val itemKeyList = ArrayList()private val TAG = BookmarkFragment::class.java.simpleName override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)}override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,savedInstanceState: Bundle?): View? {binding = DataBindingUtil.inflate(inflater, R.layout.fragment_bookmark, container, false)//2 getBookmarkData()//3 rvAdapter = BookmarkRVAdapter(requireContext(), items, itemKeyList, bookmarkIdList)val rv: RecyclerView = binding.bookmarkRV rv.adapter = rvAdapter rv.layoutManager = GridLayoutManager(requireContext(), 2)binding.hometap.setOnClickListener { it.findNavController().navigate(R.id.action_bookmarkFragment_to_homeFragment)} binding.tiptap.setOnClickListener { it.findNavController().navigate(R.id.action_bookmarkFragment_to_tipFragment)} binding.storetap.setOnClickListener { it.findNavController().navigate(R.id.action_bookmarkFragment_to_storeFragment)} binding.talktap.setOnClickListener { it.findNavController().navigate(R.id.action_bookmarkFragment_to_talkFragment)} rvAdapter.setOnItemClickListener(object : BookmarkRVAdapter.OnItemClickListener{override fun onItemClick(v: View, data: ContentModel, pos : Int) {Intent(context,BookmarkFragment::class.java).apply { Log.d("clicktest:", "ํด๋ฆญ")// var ft: FragmentTransaction = fragmentManager!!.beginTransaction()// ft.detach(Fragment()).attach(Fragment()).commit() addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)}.run { startActivity(this) } }})return binding.root }private fun getCategoryData() {val postListener = object : ValueEventListener {override fun onDataChange(dataSnapshot: DataSnapshot) {for (dataModel in dataSnapshot.children) {Log.d(TAG, dataModel.toString())val item = dataModel.getValue(ContentModel::class.java)if (bookmarkIdList.contains(dataModel.key.toString())) {items.add(item!!)itemKeyList.add(dataModel.key.toString())}}rvAdapter.notifyDataSetChanged()}override fun onCancelled(databaseError: DatabaseError) {// Getting Post failed, log a message Log.w("ContentListActivity", "loadPost:onCancelled", databaseError.toException())}}FBRef.category1.addValueEventListener(postListener)FBRef.category2.addValueEventListener(postListener)FBRef.category3.addValueEventListener(postListener)FBRef.category4.addValueEventListener(postListener)FBRef.category5.addValueEventListener(postListener)FBRef.category6.addValueEventListener(postListener)FBRef.category7.addValueEventListener(postListener)FBRef.category8.addValueEventListener(postListener)}private fun getBookmarkData() {val postListener = object : ValueEventListener {override fun onDataChange(dataSnapshot: DataSnapshot) {bookmarkIdList.clear()for (dataModel in dataSnapshot.children) {bookmarkIdList.add(dataModel.key.toString())}//1 rvAdapter.notifyDataSetChanged()getCategoryData()}override fun onCancelled(databaseError: DatabaseError) {// Getting Post failed, log a message Log.w("ContentListActivity", "loadPost:onCancelled", databaseError.toException())}}FBRef.bookmarkRef.child(FBauth.getUid()).addValueEventListener(postListener)}}
- 0
- 5
- 384
Q&A
๋ถ๋งํฌ ํญ์์ ์ญ์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ค๊ณ ํฉ๋๋ค
์ด๊ฒใด๋ค
- 0
- 5
- 384
Q&A
๋ถ๋งํฌ ํญ์์ ์ญ์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ค๊ณ ํฉ๋๋ค
์ ์๋ ์ ๊ฐ ๊ทธ์ ์ฝ๋์์ ๋ถํฐ getBookmarkData()์์ bookmarkIdList.clear()๋ฃ์ผ๋๊น idlist ์์ ์ ์ญ์ ๊ฐ๋๊ฑธ ํ์ธํ๋๋ฐ...Bookmarklayout ์์ ๊ทธ์ idlist ๊ฐ์ด ๋จ์์์ด์? ์ญ์ ํ๋ฉด ๊ทธ์ ๋ ์ด์์ idlist ๊ฐ์ ๋ ์ด์์(์ด๋ฏธ์ง) ์๋กญ๊ฒ ๋๊ฐ๋ idlist ๊ฐ์ด ๋์์ ๊ณต์กดํด์์ด ๋ฌธ์ ๋๋ ธ์ด์ฉํน์๋ ์ถ์ด์ getCategoryData() ์์ bookmarkIdList.clear() ๋ฃ์ด๋ ๊ทธ์ idlist (์ด๋ฏธ์ง)๊ฐ ์ด bookmarkFragment์ ๋จ์์๋๋ผ๊ตฌ์...ใ ใ ๊ทธ๋์ ์ด๊ฑธ ์ญ์ ํ ๋๋ง๋ค ๋ ์ด์์์ ์๋กญ๊ฒ ๋ฆฌ์ ์์ผ์ผํ๋ ์ถ์ด์ ๋ฌธ์๋๋ ธ์ด์
- 0
- 5
- 384




