In questo articolo vedremo come poter inserire a livello di codice una lista recuperata dal file strings.xml all'interno di una TextView.
Per prima cosa occorre creare la lista all'interno del file strings.xml
Ecco come si presenta il file activity_main.xml
Queste righe di codice si occupano di inserire i vari elementi della lista all'interno della TextView
Queste righe di codice possono essere utilizzate in qualsiasi punto del codice; all'interno della funzione onCreate oppure all'interno di una qualsiasi altra funzione come ad esempio quella della gestione del click di un pulsante.
Ecco come si presenta il file MainActivity.kt
Per prima cosa occorre creare la lista all'interno del file strings.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
<string-array name="list1"> | |
<item>rosso</item> | |
<item>giallo</item> | |
<item>verde</item> | |
<item>blu</item> | |
<item>nero</item> | |
</string-array> |
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"?> | |
<LinearLayout 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" | |
android:orientation="vertical" | |
android:layout_margin="5dp" | |
tools:context=".MainActivity"> | |
<TextView | |
android:id="@+id/textView" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:textColor="#000000" | |
android:textSize="16sp" | |
app:layout_constraintBottom_toBottomOf="parent" | |
app:layout_constraintLeft_toLeftOf="parent" | |
app:layout_constraintRight_toRightOf="parent" | |
app:layout_constraintTop_toTopOf="parent" /> | |
<TextView | |
android:id="@+id/textView2" | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
android:maxLines="10" | |
android:text="Lista:" | |
android:textColor="#000000" | |
android:textSize="16sp" /> | |
</LinearLayout> |
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 lista da un array contenuto nel file strings.xml | |
val list = resources.getStringArray(R.array.list1).toList() | |
//definizione della dimensione della lista | |
val size = list.size | |
textView.text = "Dimensione lista = " + size.toString() | |
//ciclo for per scrivere all'interno della TextView il contenuto della lista | |
for (i in 0 until size) { | |
//associazione alla variabile currentString il valore della lista definito con 'i' | |
val currentString = list[i] | |
//se la variabile assume valore uguale a 'null' | |
if (currentString == "null") | |
{ | |
//inserire qui il codice da eseguire se la stringa = 'null' | |
textView2.text = "" | |
} | |
else | |
{ | |
//inserire qui il codice da eseguire se la stringa diversa da 'null' | |
/*textView2.text.toString() permette ad ogni ciclo di prendere il contenuto | |
della TextView poi aggiungere un ritorno a capo '\n' un trattino '-' | |
e la stringa corrente*/ | |
textView2.text = textView2.text.toString() + "\n - " + currentString | |
} | |
} |
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.tutoriallisttextview | |
import android.os.Bundle | |
import androidx.appcompat.app.AppCompatActivity | |
import kotlinx.android.synthetic.main.activity_main.* | |
class MainActivity : AppCompatActivity() { | |
override fun onCreate(savedInstanceState: Bundle?) { | |
super.onCreate(savedInstanceState) | |
setContentView(R.layout.activity_main) | |
//recupero della lista da un array contenuto nel file strings.xml | |
val list = resources.getStringArray(R.array.list1).toList() | |
//definizione della dimensione della lista | |
val size = list.size | |
textView.text = "Dimensione lista = " + size.toString() | |
//ciclo for per scrivere all'interno della TextView il contenuto della lista | |
for (i in 0 until size) { | |
//associazione alla variabile currentString il valore della lista definito con 'i' | |
val currentString = list[i] | |
//se la variabile assume valore uguale a 'null' | |
if (currentString == "null") | |
{ | |
//inserire qui il codice da eseguire se la stringa = 'null' | |
textView2.text = "" | |
} | |
else | |
{ | |
//inserire qui il codice da eseguire se la stringa diversa da 'null' | |
/*textView2.text.toString() permette ad ogni ciclo di prendere il contenuto | |
della TextView poi aggiungere un ritorno a capo '\n' un trattino '-' | |
e la stringa corrente*/ | |
textView2.text = textView2.text.toString() + "\n - " + currentString | |
} | |
} | |
} | |
} |
Download Project | ![]() |
Download file APK | ![]() |
Commenti
Posta un commento