Passa ai contenuti principali

Android Studio - TextView: utilizzo all'interno del codice

In questo articolo a differenza del precedente vedremo come inserire testo, numeri all'interno di una TextView tramite codice, ad esempio il risultato di un calcolo o qualsiasi altra informazione che deve essere visualizzata a seguito di una azione da parte dell'utente.

ESEMPIO 1:
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<Button
android:text="Visualizza testo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:id="@+id/textView1"
android:textSize="22sp"
android:textColor="#000000"/>
</LinearLayout>
view raw textview6.xml hosted with ❤ by GitHub
In questa activity ci sono:
  • Pulsante con id=button1
  • TextView con id=textView1
MainActivity.kt
package com.dm.tutorialtext4
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button //importazione della Classe: Button
import android.widget.TextView //importazione della Classe: TextView
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
var bnShow: Button? = null //dichiarazione variabile di tipo Button per il pulsante
var txtView: TextView? = null //dichiarazione variabile di tipo TextView alla TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
bnShow = findViewById(R.id.button1) //associazione della View alla variabile
txtView = findViewById(R.id.textView1)
button1.setOnClickListener {
//utilizzando l'attributo text è possibile inserire testo e/o numeri all'interno della TextView
textView1!!.text = "Hai premuto il pulsante Visualizza testo"
}
}
}
view raw textView6.kt hosted with ❤ by GitHub
Come si può vedere da questo semplicissimo esempio, utilizzando l'attributo text si va ad inserire del testo all'interno della TextView quando si preme il pulsante.


Download Project
Download file APK


ESEMPIO 2:
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<TextView
android:text="Inserire due numeri"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textView1"
android:textSize="20sp"
android:textColor="#000000"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/editText1"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/editText2"/>
<Button
android:text="Calcola somma"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:id="@+id/textView2"
android:textSize="22sp"
android:textColor="#000000"/>
</LinearLayout>
view raw textView7.xml hosted with ❤ by GitHub
In questo esempio sono stati aggiunti due EditText in modo da poter inserire dei valori e vederne il risultato all'interno della TextView.
MainActivity.kt
package com.dm.tutorialtext5
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button //importazione della Classe: Button
import android.widget.EditText //importazione della Classe: EditText
import android.widget.TextView //importazione della Classe: TextView
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
var bnShow: Button? = null //dichiarazione variabile di tipo Button per il pulsante
var txtView: TextView? = null //dichiarazione variabile di tipo TextView alla TextView
var op1ET: EditText? = null //dichiarazione variabile di tipo EditText
var op2ET: EditText? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
bnShow = findViewById(R.id.button1) //associazione della View alla variabile
txtView = findViewById(R.id.textView2)
op1ET = findViewById(R.id.editText1)
op2ET = findViewById(R.id.editText2)
button1.setOnClickListener {
//utilizzando l'attributo text è possibile inserire testo e/o numeri all'interno della TextView
textView2!!.text = "La somma é: " + editText1.getText() + editText2.getText()
}
}
}
view raw TextView7.kt hosted with ❤ by GitHub
Il risultato è il seguente:
Come si può vedere con questa riga di codice
textView2!!.text = "La somma é: " + editText1.getText() + editText2.getText()
view raw textView7_1.kt hosted with ❤ by GitHub
si crea un concatenamento di stringhe perché utilizzando getText() viene recuperato il testo inserito nella EditText e trattato come testo e non come numero.
Per fare in modo che il testo inserito venga trattato come numero e non come testo anche se si trattano di numeri bisogna convertire il testo inserito in un numero intero utilizzando questa riga di codice:
//toInt() converte una stringa numerica in numero intero
val risultato = editText1.getText().toString().toInt() + editText2.getText().toString().toInt()
view raw textView8_1.kt hosted with ❤ by GitHub
Appoggiandosi ad una variabile temporanea "risultato" ed aggiungendo .toInt() dopo editText1.getText().toString() il testo viene letto come numero e non come stringa di testo.
Una volta calcolato il risultato viene inserito nella TextView utilizzando il concatenamento stringhe, perchè l'attributo text accetta solo stringhe.


Download Project
Download file APK


Vedi introduzione

Commenti

Post popolari in questo blog

Android Studio - Impostare lingua app

In questo articolo vedremo come poter selezionare la lingua all'interno della nostra app. Nel precedente articolo in cui si parlava del file string.xml , la lingua dell'app veniva selezionata automaticamente in base alle impostazioni del dispositivo, mentre qui vedremo come poter selezionare a proprio piacimento la lingua che dovrà avere la nostra app indipendentemente dall'impostazione del dispositivo. Per prima cosa creare il layout Ecco un esempio do come può essere il file activity_main.xml Ora creare le stringhe di testo all'interno del file string.xml Ora creare la traduzione del file string.xml nelle varie lingua come descritto in questo articolo Il risultato sarà una serie di file string.xml delle varie lingue impostate. Ora queste di seguito sono tre funzioni che servono per: selezione della lingua salvataggio della selezione nelle preferenze dell'app caricamento della lingua quando si avvia l'app Ecco come si presenta il file Main...

Android Studio - Rinominare il progetto

Rinominare il progetto Android Studio ATTENZIONE!: non eseguire questa procedura se l'app è stata pubblicata su Google Play Store Quando si vuole cambiare nome al progetto: nome cartella in cui è contenuto il progetto package name bisogna eseguire questi passaggi: Andare nella cartella dove è contenuto il progetto Creare una copia del progetto in questione Rinominare la cartella copiata con il nome dell'app (non usare spazi tra le parole) Ora è necessario dire ad Android Studio il nome del nuovo progetto  Aprire Android Studio Aprire il progetto creato in precedenza Una volta caricato il progetto cliccare Build Cliccare Clean Project Attendere che venga eseguito il processo di "pulitura" Cliccare ancora su Build Cliccare su Rebuild Project Attendere che venga ricostruito il progetto Ora aprire la cartella app fino a visualizzare la cartella java Cliccare sull'ingranaggio  Deselezionare la voce Compact Middle Packa...

Arduino - Lettura tensione potenziometro e display LCD

Leggere il valore di un poteziometro (parte 2) Oggi vedremo come leggere il valore in tensione di un potenziometro collegato al pin Analogico A0 di Arduino.