In questo articolo vedremo come recuperare gli elementi da inserire nella ListView da un Array contenuto nel file strings.xml
Ecco come si presenta il file activity_main.xml
Ecco come si presenta il file strings.xml
Ecco il codice che permette di recuperare l'array del file strings.xml e aggiungere i vari elementi che lo compongono all'interno della ListView
Ecco come si presenta il file MainActivity.kt
Come si può vedere, l'array contenuto all'interno del file strings.xml è stato inserito all'interno della ListView ordinato alfabeticamente in modo crescente.
Ecco come si presenta il file activity_main.xml
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"> | |
<ListView | |
android:id="@+id/list" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" /> | |
</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
<resources> | |
<string name="app_name">Tutorial ListView 4</string> | |
<array name="lista"> | |
<item>Android</item> | |
<item>Studio</item> | |
<item>Google</item> | |
<item>Tutorial</item> | |
</array> | |
</resources> |
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
//recupero della risorsa Array "lista" dal file strings.xml | |
val titles: Array<String> = resources.getStringArray(R.array.lista) | |
//aggiunta di elementi alla lista | |
for (i in titles.indices) { | |
fruits_list.add(titles[i]) | |
} |
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.tutoriallistview4 | |
import android.os.Bundle | |
import android.widget.ArrayAdapter //importazione della Classe: ArrayAdapter | |
import android.widget.ListView //importazione della classe: ListView | |
import androidx.appcompat.app.AppCompatActivity | |
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 | |
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) | |
//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() | |
//recupero della risorsa Array "lista" dal file strings.xml | |
val titles: Array<String> = resources.getStringArray(R.array.lista) | |
//aggiunta di elementi alla lista | |
for (i in titles.indices) { | |
fruits_list.add(titles[i]) | |
} | |
//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() | |
} | |
} |
Come si può vedere, l'array contenuto all'interno del file strings.xml è stato inserito all'interno della ListView ordinato alfabeticamente in modo crescente.
Download Project | ![]() |
Download file APK | ![]() |
Commenti
Posta un commento