In questo articolo vedremo come inserire ed utilizzare la ListView, un'oggetto versatile per inserire elenchi selezionabili di elementi all'interno della propria applicazione.
Ecco il codice per inserire una ListView all'interno del layout
Ecco come si presenta il file activity_main.xml
Ecco il codice utilizzato per inizializzare le variabili utilizzate
Ecco il codice da inserire nella funzione onCreate
Ecco il codice per inserire gli elementi nella ListView
ESEMPIO 1
Inserimento elementi all'interno della ListView dopo aver cliccato sul pulsante
Ecco come si presenta il file MainActivity.kt
Ecco un video dimostrativo
ESEMPIO 2
Nell'esempio 1 abbiamo visto come aggiungere alcuni elementi alla ListView ma con un piccolo problema: la prima riga è vuota e cliccabile. In questo esempio vedremo come eliminarla.
Ecco il codice per eliminare un elemento dalla ListView
Ecco come si presenta il file MainActivity.kt
ESEMPIO 3
In questo esempio vedremo come ordinare gli elementi all'interno della ListView.
Ecco il codice per ordinare gli elementi dalla ListView in ordine crescente
Ecco il codice per ordinare gli elementi dalla ListView in ordine decrescente
Ecco come si presenta il file MainActivity.kt
Ecco il codice per inserire una ListView all'interno del layout
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<ListView | |
android:id="@+id/list" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content"/> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<RelativeLayout | |
xmlns:android="http://schemas.android.com/apk/res/android" | |
xmlns:tools="http://schemas.android.com/tools" | |
android:id="@+id/rl" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent" | |
android:padding="10dp" | |
tools:context=".MainActivity" | |
> | |
<Button | |
android:id="@+id/bn" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:text="Aggiungi elemento alla lista" /> | |
<ListView | |
android:id="@+id/list" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:layout_below="@id/bn" /> | |
</RelativeLayout> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//inizializzazione di un nuovo array di stringhe | |
private var fruits = arrayOf("") | |
//crea un elenco dagli elementi dell'Array di stringhe | |
private var fruits_list: MutableList<String> = ArrayList(Arrays.asList(*fruits)) | |
//crea un ArrayAdapter di tipo String | |
private var arrayAdapter: ArrayAdapter<String>? = null | |
//dichiarazione delle variabili associate agli oggetti | |
private lateinit var lv: ListView | |
private lateinit var btn: Button |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//crea un ArrayAdapter da lista impostando anche uno stile "simple_list_item_1" | |
arrayAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, fruits_list) | |
//associazione della lista all'ArrayAdapter | |
lv.adapter = arrayAdapter |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//aggiunta di elementi alla lista | |
fruits_list.add("Android") | |
fruits_list.add("Studio") | |
fruits_list.add("Google") | |
/*notifyDataSetChanged () | |
Notifica che i dati sono stati modificati | |
e qualsiasi vista che riflette | |
il set di dati dovrebbe aggiornarsi.*/ | |
arrayAdapter!!.notifyDataSetChanged() |
ESEMPIO 1
Inserimento elementi all'interno della ListView dopo aver cliccato sul pulsante
Ecco come si presenta il file MainActivity.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.dm.tutoriallistview1 | |
import androidx.appcompat.app.AppCompatActivity | |
import android.os.Bundle | |
import android.widget.ArrayAdapter //importazione della Classe: ArrayAdapter | |
import android.widget.Button | |
import android.widget.ListView //importazione della classe: ListView | |
import java.util.* | |
//inizializzazione di un nuovo array di stringhe | |
private var fruits = arrayOf("") | |
//crea un elenco dagli elementi dell'Array di stringhe | |
private var fruits_list: MutableList<String> = ArrayList(Arrays.asList(*fruits)) | |
//crea un ArrayAdapter di tipo String | |
private var arrayAdapter: ArrayAdapter<String>? = null | |
//dichiarazione delle variabili associate agli oggetti | |
private lateinit var lv: ListView | |
private lateinit var btn: Button | |
class MainActivity : AppCompatActivity() { | |
override fun onCreate(savedInstanceState: Bundle?) { | |
super.onCreate(savedInstanceState) | |
setContentView(R.layout.activity_main) | |
//ottieni i riferimenti agli oggetti del layout | |
lv = findViewById(R.id.list) | |
btn = findViewById(R.id.bn) | |
//crea un ArrayAdapter da lista impostando anche uno stile "simple_list_item_1" | |
arrayAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, fruits_list) | |
//associazione della lista all'ArrayAdapter | |
lv.adapter = arrayAdapter | |
} | |
override fun onResume() { | |
super.onResume() | |
//gestione del click sul pulsante | |
btn.setOnClickListener { | |
//aggiunta di elementi alla lista | |
fruits_list.add("Android") | |
fruits_list.add("Studio") | |
fruits_list.add("Google") | |
/*notifyDataSetChanged () | |
Notifica che i dati sono stati modificati | |
e qualsiasi vista che riflette | |
il set di dati dovrebbe aggiornarsi.*/ | |
arrayAdapter!!.notifyDataSetChanged() | |
} | |
} | |
} |
Ecco un video dimostrativo
Download Project | ![]() |
Download file APK | ![]() |
ESEMPIO 2
Nell'esempio 1 abbiamo visto come aggiungere alcuni elementi alla ListView ma con un piccolo problema: la prima riga è vuota e cliccabile. In questo esempio vedremo come eliminarla.
Ecco il codice per eliminare un elemento dalla ListView
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//rimozione dell'elemento "" (vuoto) dalla lista | |
fruits_list.remove("") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.dm.tutoriallistview2 | |
import androidx.appcompat.app.AppCompatActivity | |
import android.os.Bundle | |
import android.widget.ArrayAdapter //importazione della Classe: ArrayAdapter | |
import android.widget.Button | |
import android.widget.ListView //importazione della classe: ListView | |
import java.util.* | |
//inizializzazione di un nuovo array di stringhe | |
private var fruits = arrayOf("") | |
//crea un elenco dagli elementi dell'Array di stringhe | |
private var fruits_list: MutableList<String> = ArrayList(Arrays.asList(*fruits)) | |
//crea un ArrayAdapter di tipo String | |
private var arrayAdapter: ArrayAdapter<String>? = null | |
//dichiarazione delle variabili associate agli oggetti | |
private lateinit var lv: ListView | |
private lateinit var btn: Button | |
class MainActivity : AppCompatActivity() { | |
override fun onCreate(savedInstanceState: Bundle?) { | |
super.onCreate(savedInstanceState) | |
setContentView(R.layout.activity_main) | |
//ottieni i riferimenti agli oggetti del layout | |
lv = findViewById(R.id.list) | |
btn = findViewById(R.id.bn) | |
//crea un ArrayAdapter da lista impostando anche uno stile "simple_list_item_1" | |
arrayAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, fruits_list) | |
//associazione della lista all'ArrayAdapter | |
lv.adapter = arrayAdapter | |
//rimuove la riga vuota | |
fruits_list.remove("") | |
} | |
override fun onResume() { | |
super.onResume() | |
//gestione del click sul pulsante | |
btn.setOnClickListener { | |
//aggiunta di elementi alla lista | |
fruits_list.add("Android") | |
fruits_list.add("Studio") | |
fruits_list.add("Google") | |
/*notifyDataSetChanged () | |
Notifica che i dati sono stati modificati | |
e qualsiasi vista che riflette | |
il set di dati dovrebbe aggiornarsi.*/ | |
arrayAdapter!!.notifyDataSetChanged() | |
} | |
} | |
} |
Download Project | ![]() |
Download file APK | ![]() |
ESEMPIO 3
In questo esempio vedremo come ordinare gli elementi all'interno della ListView.
Ecco il codice per ordinare gli elementi dalla ListView in ordine crescente
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//permette di ordinare in modo crescente gli elementi all'interno della lista in ordine alfabetico italiano | |
fruits_list.sort() | |
fruits_list.forEach { print("$it ") } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//permette di ordinare in modo decrescente gli elementi all'interno della lista in ordine alfabetico italiano | |
fruits_list.sortDescending() | |
fruits_list.forEach { print("$it ") } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.dm.tutoriallistview3 | |
import androidx.appcompat.app.AppCompatActivity | |
import android.os.Bundle | |
import android.widget.ArrayAdapter //importazione della Classe: ArrayAdapter | |
import android.widget.Button | |
import android.widget.ListView //importazione della classe: ListView | |
import java.util.* | |
//inizializzazione di un nuovo array di stringhe | |
private var fruits = arrayOf("") | |
//crea un elenco dagli elementi dell'Array di stringhe | |
private var fruits_list: MutableList<String> = ArrayList(Arrays.asList(*fruits)) | |
//crea un ArrayAdapter di tipo String | |
private var arrayAdapter: ArrayAdapter<String>? = null | |
//dichiarazione delle variabili associate agli oggetti | |
private lateinit var lv: ListView | |
private lateinit var btn: Button | |
class MainActivity : AppCompatActivity() { | |
override fun onCreate(savedInstanceState: Bundle?) { | |
super.onCreate(savedInstanceState) | |
setContentView(R.layout.activity_main) | |
//ottieni i riferimenti agli oggetti del layout | |
lv = findViewById(R.id.list) | |
btn = findViewById(R.id.bn) | |
//crea un ArrayAdapter da lista impostando anche uno stile "simple_list_item_1" | |
arrayAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, fruits_list) | |
//associazione della lista all'ArrayAdapter | |
lv.adapter = arrayAdapter | |
//rimuove la riga vuota | |
fruits_list.remove("") | |
} | |
override fun onResume() { | |
super.onResume() | |
//gestione del click sul pulsante | |
btn.setOnClickListener { | |
//aggiunta di elementi alla lista | |
fruits_list.add("Android") | |
fruits_list.add("Studio") | |
fruits_list.add("Google") | |
//permette di ordinare gli elementi all'interno della lista in ordine alfabetico italiano | |
fruits_list.sort() | |
fruits_list.forEach { print("$it ") } | |
/*notifyDataSetChanged () | |
Notifica che i dati sono stati modificati | |
e qualsiasi vista che riflette | |
il set di dati dovrebbe aggiornarsi.*/ | |
arrayAdapter!!.notifyDataSetChanged() | |
} | |
} | |
} |
Download Project | ![]() |
Download file APK | ![]() |
Commenti
Posta un commento