GlideAppでListViewに画像を表示について教えてください。
Q&A
Closed
GlideAppにて画像を表示させたい。
■FirebaseStoreにある画像URLをGlideAppを使用してImageViewに表示させたい。
ListAdapter.kt
class ListAdapter(context: Context, var dogList:ArrayList<RecordDB>) :ArrayAdapter<RecordDB>(context,0,dogList){
private val layoutInflater=context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
lateinit var DBDB:RecordDB
override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
val rec=dogList[position]
var view=convertView
if (null==view){
view=layoutInflater.inflate(R.layout.list_item,parent,false)
}
val Imageviewlist=view?.findViewById<ImageView>(R.id.image_list)
//GlideにてFirebaseStoreから画像のURLを取得しImageViewに挿入する
DBDB= RecordDB(ImageDataUrl = String())
GlideApp.with(context)
.load(DBDB.ImageDataUrl!![position])
.into((Imageviewlist)view)
val name=view?.findViewById<TextView>(R.id.text_Name)
name?.text=rec.Name
val time=view?.findViewById<TextView>(R.id.text_Time)
time?.text=rec.Time.toString()
val caption=view?.findViewById<TextView>(R.id.text_Caption)
caption?.text=rec.Caption
val image_name=view?.findViewById<TextView>(R.id.textView3)
image_name?.text=rec.ImageName
return view!!
}
RecordDB.kt
data class RecordDB(val uid:String?="",
val Time:String?="",
val Name:String?="",
val Caption:String?="",
val ImagePhoto:Int=0,
val ImageName:String?="",
val ImageDataUrl:String?="")
list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="120dp"
android:background="@drawable/rounded_listitem">
<ImageView
android:id="@+id/image_list"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_marginStart="8dp"
android:layout_marginTop="15dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:srcCompat="@tools:sample/avatars" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:paddingLeft="10dp"
app:layout_constraintEnd_toStartOf="@+id/linearLayout2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/image_list" />
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="315dp"
android:layout_height="122dp"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/image_list">
<TextView
android:id="@+id/text_Time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:text="TextView"
android:paddingLeft="5dp"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/text_Name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:text="TextView" />
<TextView
android:id="@+id/text_Caption"
android:layout_width="326dp"
android:layout_height="43dp"
android:paddingLeft="5dp"
android:layout_marginLeft="5dp"
android:text="TextView" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
■エラーの場所
GlideApp.with(context)
.load(DBDB.ImageDataUrl!![position])
.into((Imageviewlist)view)
This view is not constrained vertically: at runtime it will jump to the top unless you add a vertical constraint
以上、ご教授の程お願いいたします。
0 likes