In questo articolo vedremo come impostare la selezione di elemento all'interno della ListView all'avvio dell'applicazione.
Ecco come si presenta il file activity_main.xml
Ecco le righe di codice da inserire per eseguire la selezione di un elemento, si consiglia di inserire queste righe di codice all'interno della funzione onCreate() oppure onResume
Ecco come si presenta il file MainActivity.kt
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
//impostazione dell'elemento selezionato all'avvio dell'app | |
lv.setItemChecked(1, true) |
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.tutoriallistview10 | |
import androidx.appcompat.app.AppCompatActivity | |
import android.os.Bundle | |
import android.widget.ArrayAdapter //importazione della Classe: ArrayAdapter | |
import android.widget.ListView //importazione della classe: ListView | |
import android.widget.Toast | |
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_single_choice" | |
arrayAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_single_choice, fruits_list) | |
//associazione della lista all'ArrayAdapter | |
lv.adapter = arrayAdapter | |
//impostazione della modalità di scelta dell'elemento | |
//se non si inserisce questa riga, la selezione del RadioButton non viene eseguita | |
lv.choiceMode = ListView.CHOICE_MODE_SINGLE | |
//impostazione dell'elemento selezionato all'avvio dell'app | |
lv.setItemChecked(1, true) | |
//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() | |
//gestione del click sugli elementi della ListView | |
lv.setOnItemClickListener{parent, view, position, id-> | |
//position è la variabile che contiene la posizione dell'elemento cliccato | |
//position = 0 è il primo elemento della lista | |
//variabile che contiene la posizione dell'elemento cliccato | |
val posizione = position | |
//variabile che cotiene il testo dell'elemento cliccato | |
val elemento = lv.getItemAtPosition(position) | |
Toast.makeText(this, "Posizione: $posizione\nValore elemento: $elemento", Toast.LENGTH_LONG).show() | |
} | |
} | |
} |
Download Project | ![]() |
Download file APK | ![]() |
Commenti
Posta un commento