kotlin - 我从我的火力库中获得了多少数据,但没有输出
问题描述
我的代码没有错误。我得到了存储在其中的数据的大小,但 RecyclerView 中没有 productName、productCode 等输出。我不知道,我已经尽力了,但仍然没有进展。我只是想显示将在卡片视图中设置的数据。所以这就是问题所在。FirebaseDatabase如您所见,我的产品中有 5 个数据。然后我想显示它的详细信息,例如代码、过期日期和名称。在这种情况下,我只测试输出代码和名称。当我运行它时,输出就像这个VirtualAndroidDevice一样,你可以看到我得到了 5 的数据,但应该有一个 2 textView 包含代码和名称。
产品适配器.kt
class ProductAdapter(options: FirebaseRecyclerOptions<Product>) : FirebaseRecyclerAdapter<Product, ProductAdapter.ViewHolder>(options) {
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val productCode:TextView = itemView.findViewById(R.id.productCodeTextView)
val productName:TextView = itemView.findViewById(R.id.NUPTextView)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val layout:View = LayoutInflater.from(parent.context).inflate(R.layout.item_product, parent, false)
return ViewHolder(layout)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int, model: Product) {
holder.productName.setText(model.getProductName())
holder.productCode.setText(model.getProductCode())
}
}
HomeFragment.kt
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
val layout = inflater.inflate(R.layout.fragment_home, container, false)
recyclerView = layout.findViewById(R.id.homeFragmentRecyclerView)
recyclerView.layoutManager = LinearLayoutManager(context)
val query: Query = FirebaseDatabase.getInstance().getReference()
val options: FirebaseRecyclerOptions<Product> = FirebaseRecyclerOptions.Builder<Product>()
.setQuery(query, Product::class.java)
.build()
adapter = ProductAdapter(options)
recyclerView.adapter = adapter
return layout
}
产品.kt
private var code: String? = null
private var name: String? = null
fun Product(code: String?, name: String?) {
this.code = code
this.name = name
}
fun getProductCode(): String? {
return code
}
fun setProductCode(code: String?) {
this.code = code
}
fun getProductName(): String? {
return name
}
fun setProductName(name: String?) {
this.name = name
}
对于任何要求 item_product.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
app:cardBackgroundColor="#FFFFE8">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="8dp">
<TextView
android:id="@+id/productCodeTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Product Code"
android:textAppearance="@style/TextAppearance.AppCompat.Large"/>
<TextView
android:id="@+id/NUPTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NUP"
android:layout_below="@id/productCodeTextView"
android:textAppearance="@style/TextAppearance.AppCompat.Large"/>
</RelativeLayout>
</androidx.cardview.widget.CardView>
解决方案
推荐阅读
- robotframework - 如何使用 Robotframework 中的 AutoItLibrary 将本地 Windows 机器中的图像添加到浏览器
- ng-bootstrap - 如何将 NgbTypeahead 的结果放入 DIV 容器,而不是动态下拉列表?
- kubernetes-helm - helm install 失败,值中有 - 和 _
- mysql - 在分叉的进程中使用相同的 MySQL 连接是否很好?
- spring-boot - 在作业完成之前返回 Spring Batch 作业 ID
- python - 元组列表的快速搜索
- botframework - 识别用户何时使用 Skype Web 控件 - 在 botframework 上
- r - ggplot2 对小值在 y 轴上的对数刻度
- r - 在数据表中对 n 个或多个观察值进行分组,而不会中断连续值的序列
- javascript - 除了提交之外的其他方法