Autore Topic: Inserire testo in una editText  (Letto 1698 volte)

Offline viir

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S3
  • Sistema operativo:
    Mac OS X 10.10.5
Inserire testo in una editText
« il: 20 Dicembre 2012, 09:38:15 CET »
0
Salve ragazzi, ho un problema: in una delle activity della mia app ho inserito due editText all'interno della quale ho inserito il testo da visualizzare (mediante il codice  android:hint="testoDaVisualizzare"). Per una editText ho inserito nel suo codice xml questa stringa android:inputType="numberDecimal", però quando vado nel layout (e anche quando mando in esecuzione il progetto) il testo nella casella non appare. Come mai? Vi posto il codice:

Codice (XML): [Seleziona]
<EditText
                    android:gravity="center"
                    android:id="@+id/cognome"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:ems="18"
                    android:hint="...Inserire il cognome..."
                    android:layout_gravity="top|center" />
            <requestFocus />

<EditText
                    android:gravity="center"
                    android:id="@+id/num"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:ems="18"
                    android:hint="11"
                    android:layout_gravity="top|center"
                   android:hint="...Inserire numero..."
                    android:inputType="numberDecimal" />
            <requestFocus />

Attendo risposte :)
         

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Inserire testo in una editText
« Risposta #1 il: 20 Dicembre 2012, 09:56:05 CET »
0
perchè hai il focus su quell'edit text
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline viir

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S3
  • Sistema operativo:
    Mac OS X 10.10.5
Re:Inserire testo in una editText
« Risposta #2 il: 20 Dicembre 2012, 09:56:55 CET »
0
perchè hai il focus su quell'edit text

Ah quindi cosa faccio?

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:Inserire testo in una editText
« Risposta #3 il: 20 Dicembre 2012, 10:29:51 CET »
0
Ah quindi cosa faccio?

togli il focus dal componente spostandolo all'apertura sul container.
Aggiungi al layout che contiene le textarea gli attributi:
Codice (Java): [Seleziona]
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"

vado a memoria ma dovrebbe funzionare.

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Inserire testo in una editText
« Risposta #4 il: 20 Dicembre 2012, 10:33:34 CET »
0
togli il focus dal componente spostandolo all'apertura sul container.
Aggiungi al layout che contiene le textarea gli attributi:
Codice (Java): [Seleziona]
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"

vado a memoria ma dovrebbe funzionare.

Non basta tirare via il requestFocus dall'xml?

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:Inserire testo in una editText
« Risposta #5 il: 20 Dicembre 2012, 10:42:31 CET »
0
Non basta tirare via il requestFocus dall'xml?
Onestamente del requestFocus mi fido poco, sopratutto nelle prime versioni di andorid mi ha sempre dato comportamenti un po' strani (o lo usavo male io, ci sta anche questo). Che ci vuoi fare ognuno ha la propria bestia nera con cui è destino non andar d'accordo: la mia è il requestFocus  :-P

PS: scusatemi avevo letto male l'xml del layout e mi era sfuggito il tag (e l'ho pure riguardato almeno un paio di volte). Ha ragione Ricky e vanno rimossi, tra l'altro non sono inseriti all'interno dell' EditText ma all'esterno.
« Ultima modifica: 20 Dicembre 2012, 10:49:36 CET da Sakazaki »

Offline viir

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S3
  • Sistema operativo:
    Mac OS X 10.10.5
Re:Inserire testo in una editText
« Risposta #6 il: 20 Dicembre 2012, 11:07:22 CET »
0
togli il focus dal componente spostandolo all'apertura sul container.
Aggiungi al layout che contiene le textarea gli attributi:
Codice (Java): [Seleziona]
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"

vado a memoria ma dovrebbe funzionare.

Scusami :) ho provato a fare quello che hai detto ma forse sbaglio qualcosa.. ti posto l'intero codice, potresti gentilmente dirmi dove devo mettere il focus? Te ne sarei grata

Codice (XML): [Seleziona]
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:id="@+id/LinearLayout1"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:background="@drawable/grunge"
   android:gravity="center_horizontal"
   android:orientation="vertical"
   android:padding="15dp"
   android:visibility="visible"
   tools:ignore="HardcodedText" >

    <TextView
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_gravity="center"
       android:text="Benvenuto"
       android:gravity="center"
       android:textAppearance="?android:attr/textAppearanceSmall"
       android:textColor="#FF0000"
       android:textSize="30sp"
       android:textStyle="bold|normal"
       android:typeface="serif"
       android:visibility="visible"
       android:padding="2dp"
       android:shadowColor="@color/Nero"
       android:shadowDx="3.5"
       android:shadowDy="3.5"
       android:shadowRadius="0.02"
       

       />
   
   
   

      <ImageView
         android:id="@+id/imageView1"
         android:layout_width="110dp"
         android:layout_height="110dp"
         android:src="@drawable/immlogo"
         android:contentDescription="immagine"/>
 
       
 
    <TableLayout
       android:layout_width="fill_parent"
             android:layout_height="0dp"
             android:layout_weight="1"
               
                android:layout_gravity="top|center"
                android:gravity="center"
                android:shrinkColumns="0"
                android:stretchColumns="1" >

        <TableRow
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:gravity="top|center" >

                <EditText
                    android:gravity="center"
                    android:id="@+id/cognome"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:ems="18"
                    android:hint="...Inserire il cognome..."
                    android:layout_gravity="top|center" />
            <requestFocus />
        </TableRow>

        <TableRow
            android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:gravity="top|center"
                 >
           

                <EditText
                    android:gravity="center"
                    android:id="@+id/matricola"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:ems="18"
                    android:hint="11"
                    android:layout_gravity="top|center"
                    android:inputType="numberDecimal"
                     />
<requestFocus />
           

        </TableRow>
</TableLayout>
« Ultima modifica: 20 Dicembre 2012, 11:09:10 CET da viir »

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:Inserire testo in una editText
« Risposta #7 il: 20 Dicembre 2012, 12:06:10 CET »
0
Scusami :) ho provato a fare quello che hai detto ma forse sbaglio qualcosa.. ti posto l'intero codice, potresti gentilmente dirmi dove devo mettere il focus? Te ne sarei grata

Grazie per il codice, mi ha permesso di fare alcune prove e ricerche, scoprendo delle cose interessanti che non sapevo :)

A beneficio di tutti:
c'è un > bug riconosciuto < sull'attributo android:hint, quando usato in congiunzione con gli attributi android:inputType e android:gravity
Pare che i tre tag assieme sullo stesso componente non vadano d'accordo, e l'hint non venga mostrato.

Da prove che ho fatto le cose si risolvono aggiungendo l'attributo android:ellipsize, indipendentemente dalla presenza o meno del tag RequestFocus.

Codice (XML): [Seleziona]
<EditText
                   android:gravity="center"
                   android:id="@+id/matricola"
                   android:layout_width="fill_parent"
                   android:layout_height="wrap_content"
                   android:ems="18"
                   android:hint="11"
                   android:layout_gravity="top|center"
                   android:inputType="numberDecimal"
                   android:ellipsize="end"
                    />
<RequestFocus />

Funziona.

Offline viir

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S3
  • Sistema operativo:
    Mac OS X 10.10.5
Re:Inserire testo in una editText
« Risposta #8 il: 20 Dicembre 2012, 12:15:00 CET »
0
Grazie per il codice, mi ha permesso di fare alcune prove e ricerche, scoprendo delle cose interessanti che non sapevo :)

A beneficio di tutti:
c'è un > bug riconosciuto < sull'attributo android:hint, quando usato in congiunzione con gli attributi android:inputType e android:gravity
Pare che i tre tag assieme sullo stesso componente non vadano d'accordo, e l'hint non venga mostrato.

Da prove che ho fatto le cose si risolvono aggiungendo l'attributo android:ellipsize, indipendentemente dalla presenza o meno del tag RequestFocus.

Codice (XML): [Seleziona]
<EditText
                   android:gravity="center"
                   android:id="@+id/matricola"
                   android:layout_width="fill_parent"
                   android:layout_height="wrap_content"
                   android:ems="18"
                   android:hint="11"
                   android:layout_gravity="top|center"
                   android:inputType="numberDecimal"
                   android:ellipsize="end"
                    />
<RequestFocus />

Funziona. Ti ringrazio per la pronta risposta!