【发布时间】:2020-09-08 06:51:36
【问题描述】:
我从 FireBase 检索数据并尝试在每个数据 (TextView) 旁边显示图像。但是图像只显示在第一个数据上。
这是输出:
我希望每个数据都有一个图像。
这是我的代码:
val database = FirebaseDatabase.getInstance().reference
val getData = object : ValueEventListener {
override fun onDataChange(snapshot: DataSnapshot) {
val myData = SpannableStringBuilder()
for (i in snapshot.children) {
val data = i.child("myData").value
myData.append("$data\n\n")
// Get image from drawable and set size
val drawable: Drawable? = context?.let { ContextCompat.getDrawable(it, R.drawable.myImage) }
drawable?.setBounds(0, 0, textView.lineHeight, textView.lineHeight)
// Set image span to the first letter
val span: ImageSpan? = drawable?.let { ImageSpan(it, ImageSpan.ALIGN_BASELINE) }
myData.setSpan(span, 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
}
textView.text = myData
}
override fun onCancelled(error: DatabaseError) {
}
}
database.addValueEventListener(getData)
【问题讨论】:
标签: java android kotlin stringbuilder spannablestring