【发布时间】:2021-01-14 17:27:12
【问题描述】:
从字面上看,它不起作用。 没有错误,但没有开始与服务器联网。
奇怪的是这个应用程序的早期版本运行良好。这段代码和以前的版本没有区别..
我认为代码还不错,但是还有一个我想不通的问题...
class FeedFragment : Fragment() {
var firestore : FirebaseFirestore? = null
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
var feedView: View = inflater.inflate(R.layout.fragment_feed, container, false)
feedView.feed_recycler_view?.adapter = FeedRecyclerViewAdapter()
feedView.feed_recycler_view?.layoutManager = GridLayoutManager(activity, 2)
firestore = FirebaseFirestore.getInstance()
if (firestore == null) Log.d("firestore", "doesnt work")
else {
Log.d("print", firestore.toString())
// it throws the instance properly
}
return feedView
}
inner class FeedRecyclerViewAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
var contentDTOs: ArrayList<ContentDTO> = arrayListOf()
init {
firestore?.collection("images")?.addSnapshotListener {
querySnapshot, _ ->
// Log.d("query", "working")
// I can't see this log because the query doesn't work
//Sometimes, this code return null of querySnapshot when it signout
if (querySnapshot == null) return@addSnapshotListener
// Get data
for (snapshot in querySnapshot.documents) {
contentDTOs.add(snapshot.toObject(ContentDTO::class.java)!!)
}
notifyDataSetChanged()
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
// 화면 넓이의 1/2 크기의 정사각형 만들기
var width = resources.displayMetrics.widthPixels / 2
var imageView = ImageView(parent.context)
imageView.layoutParams = LinearLayoutCompat.LayoutParams(width, width)
return CustomViewHolder(imageView)
}
inner class CustomViewHolder(var imageview: ImageView) : RecyclerView.ViewHolder(imageview)
override fun getItemCount(): Int {
return contentDTOs.size
}
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
var imageview = (holder as CustomViewHolder).imageview
Glide.with(holder.itemView.context).load(contentDTOs[position].imageUri)
.apply(RequestOptions().centerCrop()).into(imageview)
}
}
}
【问题讨论】:
-
图片集合中有数据吗?
-
@MuhammadUmar 是的,有。上一个版本显示数据很好..
标签: android firebase kotlin google-cloud-firestore