Potete spiegarmi questa riga?
non riesco a capirla..codice:final EditText inputText = (EditText)findViewById(R.id.inputText);
Potete spiegarmi questa riga?
non riesco a capirla..codice:final EditText inputText = (EditText)findViewById(R.id.inputText);
Recupera l'oggetto EditText la cui id è inputText dal layout caricato per l'activity.
E' messa final, quindi non modificabile oltre, ma non è un attributo necessario.
La findViewById è una delle funzioni base di un'activity (e una delle più usate), la stringa inputText, invece, viene direttamente dalla definizione del main.xml:
<EditText android:layout_height="wrap_content"
android:id="@+id/inputText"
android:hint="@string/input_label"
android:layout_width="fill_parent"
></EditText>
EditText è ovviamente la view
La mia katana: Slackware 13.1
La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
Il mio sito: Follow the rabbit (con la sua App )
smartgatto (28-10-10)
vediamo se ho capito bene...
con questa dichiarazione io "recupero" ciò che è scritto nella EditText (con id inputText), ma non faccio nessuna operazione...
l'operazione la eseguo nella riga in cui scrivo
ovvero estraggo il testo dalla variabile inputText e poi lo faccio diventare un testo editabile? cosa significa?codice:Editable text = inputText.getText(); outputText.setText(text);
successivamente preso questo text e lo metto nell'oggetto outputText, giusto?
grazie
In realtà più che ciò che è scritto dentro recuperi fisicamente la view, che è un concetto un po' più ampio. Infatti puoi manipolarla in tutti i suoi aspetti, comprese dimensioni, formattazioni e anche posizioni...
L'EditText è un elemento già editabile, è una caratteristica propria dell'elemento, il fatto di aver usato quello invece di un semplice textView (come l'altro blocco) ti regala, a gratis, le caratteristiche di un form in cui puoi inserire testo.ovvero estraggo il testo dalla variabile inputText e poi lo faccio diventare un testo editabile?codice:Editable text = inputText.getText(); outputText.setText(text);
Quando poi tocchi il tasto (onTouch) il testo che l'utente ha scritto nel EditText può essere recuperato col getText (e puoi vederlo anche come una semplice stringa, anche se qui si usa un più raffinato Editable) e travasato nel TextView che hai recuperato nel medesimo modo con una setText.
Ricorda che comandi generici come setText e getText sono comuni a moltissimi "blocchi" di layout, che siano editabili o no.
La mia katana: Slackware 13.1
La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
Il mio sito: Follow the rabbit (con la sua App )
Grazie, veramente grazie, sto, piano piano, cominciando a capirci qualcosina....
Ciao a tutti,
due cose al volo. In effetti gli import nei listati nel libro sono stati eliminati al fine di ottimizzare, per quanto possibile, gli spazi evitando pagine di codice. Consiglio sempre di leggere il libro con il listato scaricato dal sito di apogeo davanti. Si tratta comunque di import abbastanza ovvi con l'unica eccezioni magari della interfaccia OnClickListener e sorelle la quale viene definita come interfaccia interna di più classi. Quella relativa al bottone è quella definita nella classe View e non quella associata ad una Dialog.
Per quello che riguarda le variabili definite final il motivo non è tanto quello di non modificarne il valore (attenzione comunque a non confondere il fatto di rendere final un riferimento dalla possibilità invece di modificare lo stato dell'oggetto referenziato) ma solo quello di potervi accedere da una classe anonima. Come sapete, infatti, una variabile locale può essere utilizzata in una classe anonima solo se final per evitare che la stessa "fugga" dal suo stack e viva anche quando il corrispondente metodo ha terminato la propria esecuzione.
Se non si vuole utilizzare il final è sufficiente rendere le variabili locali delle variabili di istanza. In questo caso il pericolo descritto sopra non esiste.
Io non riesco sempre a seguire il forum ma a tutti coloro che mi hanno fatto domande direttamente ho sempre risposto :-)
Ciao
Massimo