[Desarrollo de Android] ArrayAdapter

El adaptador es el puente entre la vista y los datos de AdapterView, que se utiliza para procesar datos y vincular datos a AdapterView

paso

  1. Preparar el diseño (mostrar el efecto de cada elemento)
  2. Prepare la fuente de datos
  3. Crear una instancia del adaptador
  4. Configurar adaptador para ListView

Contenedor de temas ArrayAdapter

<?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="match_parent"
    tools:context=".ArrayActivity">

    <ListView
        android:id="@+id/list_view1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></ListView>

</androidx.constraintlayout.widget.ConstraintLayout>

Configuración de diseño para cada elemento

<?xml version="1.0" encoding="utf-8"?>
<!--注意是TextView-->
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textColor="#fbb8ac">

</TextView>

Prepare la fuente de datos y el adaptador

class ArrayActivity : AppCompatActivity() {
    
    
    override fun onCreate(savedInstanceState: Bundle?) {
    
    
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_array)

        val listView1 = findViewById<ListView>(R.id.list_view1)

        //参数1:环境上下文(this)
        //参数2:代表数据项所应用的布局
        //参数3:数据源(数组)
        val data = arrayOf<String?>("AA", "BB", "CC", "DD", "FF", "AA", "BB", "CC", "DD", "FF", "AA", "BB", "CC", "DD", "FF", "AA", "BB", "CC", "DD", "FF", "AA", "BB", "CC", "DD", "FF")
        val adapter: ArrayAdapter<*> = ArrayAdapter<Any?>(this, R.layout.item, data)
        listView1.adapter = adapter
    }
}
//使用android自带的资源
val adapter: ArrayAdapter<*> = ArrayAdapter<Any?>(this, android.R.layout.simple_list_item_1, data)

Agregue imágenes al lado de cada línea de texto

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <ImageView
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:background="@mipmap/ic_launcher" />

    <TextView
        android:id="@+id/txt1"
        android:layout_width="match_parent"
        android:layout_height="50dp" />

</LinearLayout>
//这里有4个参数,第三个参数是选定作为数据源的TextView
val adapter: ArrayAdapter<*> = ArrayAdapter<Any?>(this, R.layout.item2, R.id.txt1, data)

Supongo que te gusta

Origin blog.csdn.net/weixin_42020386/article/details/112883850
Recomendado
Clasificación