Autore Topic: Inserendo il valore di uno spinner deve cambiare il testo nell'editText  (Letto 1478 volte)

Offline MMarko

  • Utente junior
  • **
  • Post: 128
  • Respect: +5
    • MarcoMatarazzi
    • Mostra profilo
    • La Rocchetta Bed And Breakfast
  • Dispositivo Android:
    HTC Legend
  • Play Store ID:
    MarcoMatarazzi
Buona sera a tutti,
posto per chiedervi una mano circa un problemino che non riesco a risolvere.

Dovrei fare in modo che la voce selezionata da uno spinner venga inserita in un EditText appartenente alla stessa activity, mi è venuto in mente di definire il nomeEditText.setText("voce spinner"); direttamente nell'"onItemSelected" dello spinner ma non sembra funzionare.

Qualcuno saprebbe darmi una mano?
grazie

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Inserendo il valore di uno spinner deve cambiare il testo nell'editText
« Risposta #1 il: 20 Luglio 2010, 16:37:12 CEST »
0
Cosa vuol dire "ma non sembra funzionare"? Da un errore? Non da errori ma non fa nulla? Non vede la EditText all'interno di onItemSelected?
Se puoi posta il codice :P
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline MMarko

  • Utente junior
  • **
  • Post: 128
  • Respect: +5
    • MarcoMatarazzi
    • Mostra profilo
    • La Rocchetta Bed And Breakfast
  • Dispositivo Android:
    HTC Legend
  • Play Store ID:
    MarcoMatarazzi
Re:Inserendo il valore di uno spinner deve cambiare il testo nell'editText
« Risposta #2 il: 20 Luglio 2010, 16:43:48 CEST »
0
Chiedo scusa mi sono espresso male, questo è il mio codice dello spinner:
Codice (Java): [Seleziona]
public Spinner spinner;

public String[] macchine = new String []{"Punto","Corsa","Astra","Polo","Altro"};
public int[] valore = new int[] {R.drawable.punto, R.drawable.corsa,R.drawable.astra, R.drawable.polo,R.drawable.altro};

spinner = (Spinner) findViewById(R.id.campofoto);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this , android.R.layout.simple_spinner_item, apparecchi);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);        
spinner.setAdapter(adapter);

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long id) {              
                 selectedFoto = apparecchi[position];
                 scelta = position;
        }
                       
        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
        }
});

Vorrei fare in modo che il nome della macchina selezionata vada a riempire un edittext "nomeMacchina" che si trova sotto lo spinner (in modo che l'utente possa cambiare il nome a piacere.
Codice (Java): [Seleziona]
EditText nomeMacchina = (EditText) this.findViewById(R.id.camponome);
nomeMacchina.setText(selectedFoto);    

Spero di essermi spiegato un pò meglio  :-P

Offline MMarko

  • Utente junior
  • **
  • Post: 128
  • Respect: +5
    • MarcoMatarazzi
    • Mostra profilo
    • La Rocchetta Bed And Breakfast
  • Dispositivo Android:
    HTC Legend
  • Play Store ID:
    MarcoMatarazzi
Re:Inserendo il valore di uno spinner deve cambiare il testo nell'editText
« Risposta #3 il: 20 Luglio 2010, 16:44:39 CEST »
0
Se inserisco il codice
Codice (Java): [Seleziona]
EditText nomeMacchina = (EditText) this.findViewById(R.id.camponome);
nomeMacchina.setText(selectedFoto);    

all'interno di onItemSelected mi da errore :(

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Inserendo il valore di uno spinner deve cambiare il testo nell'editText
« Risposta #4 il: 20 Luglio 2010, 16:50:17 CEST »
0
Ad occhio potrebbe bastare:

Codice (Java): [Seleziona]
selectedFoto  = arg0.getItemAtPosition(position).toString();
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Inserendo il valore di uno spinner deve cambiare il testo nell'editText
« Risposta #5 il: 20 Luglio 2010, 16:54:11 CEST »
0
Se inserisco il codice
Codice (Java): [Seleziona]
EditText nomeMacchina = (EditText) this.findViewById(R.id.camponome);
nomeMacchina.setText(selectedFoto);    

all'interno di onItemSelected mi da errore :(
Ok, ma quale errore? A volte (praticamente sempre?) partendo dal messaggio di errore è possibile capire qual è il problema è fixarlo :P
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline MMarko

  • Utente junior
  • **
  • Post: 128
  • Respect: +5
    • MarcoMatarazzi
    • Mostra profilo
    • La Rocchetta Bed And Breakfast
  • Dispositivo Android:
    HTC Legend
  • Play Store ID:
    MarcoMatarazzi
Re:Inserendo il valore di uno spinner deve cambiare il testo nell'editText
« Risposta #6 il: 20 Luglio 2010, 16:55:58 CEST »
0
Se inserisco il codice
Codice (Java): [Seleziona]
EditText nomeMacchina = (EditText) this.findViewById(R.id.camponome);
nomeMacchina.setText(selectedFoto);    
in: onItemSelected(...)

Mi da questo errore errore:
The method findViewById(int) is undefined for the type new AdapterView.OnItemSelectedListener(){}

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Inserendo il valore di uno spinner deve cambiare il testo nell'editText
« Risposta #7 il: 20 Luglio 2010, 16:58:21 CEST »
0
Se inserisco il codice
Codice (Java): [Seleziona]
EditText nomeMacchina = (EditText) this.findViewById(R.id.camponome);
nomeMacchina.setText(selectedFoto);    
in: onItemSelected(...)

Mi da questo errore errore:
The method findViewById(int) is undefined for the type new AdapterView.OnItemSelectedListener(){}

Se quell'errore te lo da' solamente quando lo metti dentro a OnSelected.., prova a togliere il this.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Inserendo il valore di uno spinner deve cambiare il testo nell'editText
« Risposta #8 il: 20 Luglio 2010, 16:58:33 CEST »
0
Punto tutto su quel this.

Fa na cosa, dichiara EditText nomeMacchina; a livello di classe e fai il nomeMacchina =  (EditText) findViewById(R.id.camponome); dentro la onCreate.
Ora inserisci solo nomeMacchina.setText(selectedFoto); nella onItemSelected.

Facci sapere
« Ultima modifica: 20 Luglio 2010, 17:00:12 CEST da JD »
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline MMarko

  • Utente junior
  • **
  • Post: 128
  • Respect: +5
    • MarcoMatarazzi
    • Mostra profilo
    • La Rocchetta Bed And Breakfast
  • Dispositivo Android:
    HTC Legend
  • Play Store ID:
    MarcoMatarazzi
Re:Inserendo il valore di uno spinner deve cambiare il testo nell'editText
« Risposta #9 il: 20 Luglio 2010, 17:05:04 CEST »
0
Benissimo! ho tolto il this ed ora funziona!

Grazie raga!

Unica pecca è che appena carica l'activity inserisce da subito il valore di default dello spinner come testo dell'edittext.
Ci sarà un modo per evitare che accada? voglio infatti che l'edittext sia privo di testo fino a che non si sceglie una delle voci dello spinner

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Inserendo il valore di uno spinner deve cambiare il testo nell'editText
« Risposta #10 il: 20 Luglio 2010, 19:41:52 CEST »
0
Oppure bastava sostituire il "this" con NomeClasseActivity.this
Postate il LogCat LogCat LogCat LogCat LogCat