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
In questa activity ci sono:
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.
ESEMPIO 2:
activity_main.xml
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
Il risultato è il seguente:
Come si può vedere con questa riga di codice
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:
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.
Vedi introduzione
ESEMPIO 1:
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"?> | |
<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> |
- Pulsante con id=button1
- TextView con id=textView1
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.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" | |
} | |
} | |
} |
Download Project | ![]() |
Download file APK | ![]() |
ESEMPIO 2:
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"?> | |
<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> |
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.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() | |
} | |
} | |
} |
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
textView2!!.text = "La somma é: " + editText1.getText() + editText2.getText() |
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:
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
//toInt() converte una stringa numerica in numero intero | |
val risultato = editText1.getText().toString().toInt() + editText2.getText().toString().toInt() |
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
Posta un commento