Autore Topic: accedere ad una text view da un altro intent  (Letto 942 volte)

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
accedere ad una text view da un altro intent
« il: 25 Maggio 2011, 21:35:57 CEST »
0
Ciao a tutti.

Ho un dubbio su quanto segue.

Nella main activity ho questo
Codice: [Seleziona]
setContentView(R.layout.map);

poi dentro ad una funzione nella stessa activity ho

Codice: [Seleziona]
TextView myLocationText = (TextView) findViewById(R.id.myLocationText);

Ma myLocationText e' dentro ad un altro layout

Codice: [Seleziona]
setContentView(R.layout.hit);

Quest'ultima content view e' richiamata nella seconda activity.

Per far funzionare il tutto ho usato "inflate"

Codice: [Seleziona]
View inflatedView = View.inflate(this, R.layout.hit, null);
TextView myLocationText = (TextView) inflatedView.findViewById(R.id.myLocationText);

In questo modo non ho nessun errore. Apparentemente tutto sembra ok.

myLocationText e' una stringa che viene visualizzata nella seconda Activity, ma modificata solo nella prima activity, ma quando la seconda activity e' attiva, nel campo myLocationText vedo la scritta di default.

Secondo me e' si perche' cambio la stringa con la prima activity, ma una volta che la seconda activity non vede il cambiamento.

Nella seconda activity non ho alcun codice che si riferisce a myLocationText

Fa almeno un po' senso? E se si, come posso risolverlo?

Tks in advance.

r

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:accedere ad una text view da un altro intent
« Risposta #1 il: 25 Maggio 2011, 21:59:27 CEST »
0
Scusa ma perchè devi fare tutto questo giro?
Da un'activity puoi gestire solo il layout che é settato.
Prendi la stringa che ti interessa e la passi alla seconda activity, di lì la setti come testo.
Postate il LogCat LogCat LogCat LogCat LogCat

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Re:accedere ad una text view da un altro intent
« Risposta #2 il: 25 Maggio 2011, 22:19:52 CEST »
0
Ciao blackgin,

e' perche' nella main activity faccio questo:

Codice: [Seleziona]
public void onLocationChanged(Location location) {
               
               
                List<Overlay> overlays = mv.getOverlays();
                //List overlays = mv.getOverlays();
                overlay = new MyLocationOverlay(this, mv);
                overlays.add(overlay);
                overlay.enableMyLocation();
                       
                String latLongString;
                View inflatedView = View.inflate(this, R.layout.hit, null);
                TextView myLocationText = (TextView) inflatedView.findViewById(R.id.myLocationText);
               
                String addressString = "No address found";
               
                if (location != null) {
                       
                        double lat = location.getLatitude();
                        double lng = location.getLongitude();
               
                        latLongString = "Lat:" + lat + "\nLong:" + lng;
                       
                        double latitude = location.getLatitude();
                        double longitude = location.getLongitude();
                       
                        Geocoder gc = new Geocoder(this, Locale.getDefault());
                        try {
                                List<Address> addresses = gc.getFromLocation(latitude, longitude, 1);
                                StringBuilder sb = new StringBuilder();
                                if (addresses.size() > 0) {
                                                Address address = addresses.get(0);
                                                for (int i = 0; i < address.getMaxAddressLineIndex(); i++)
                                                        sb.append(address.getAddressLine(i)).append("\n");
                                                       
                                                sb.append(address.getLocality()).append("\n");
                                                sb.append(address.getPostalCode()).append("\n");
                                                sb.append(address.getCountryName());
                                }
                                addressString = sb.toString();
                        } catch (IOException e) {}
                } else {
                        latLongString = "No location found";
                }
                Log.v(LOG_TAG, "latLong: "+latLongString);
                Log.v(LOG_TAG, "add: "+addressString);
                myLocationText.setText("Your Current Position is:\n" + latLongString + "\n" + addressString);
               
                Log.v(LOG_TAG, "myLocationText: "+myLocationText);
               
        }

Qualche consiglio?

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:accedere ad una text view da un altro intent
« Risposta #3 il: 25 Maggio 2011, 22:23:13 CEST »
0
E passa la stringa all'activity 2 e poi impostala da là
Postate il LogCat LogCat LogCat LogCat LogCat

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Re:accedere ad una text view da un altro intent
« Risposta #4 il: 25 Maggio 2011, 22:25:10 CEST »
0
Allora poi...

Grazie.

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:accedere ad una text view da un altro intent
« Risposta #5 il: 25 Maggio 2011, 23:29:34 CEST »
0
Allora poi...

Grazie.
cosa vuol dire allora poi?
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 racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Re:accedere ad una text view da un altro intent
« Risposta #6 il: 26 Maggio 2011, 09:21:43 CEST »
0
Citazione
cosa vuol dire allora poi?

Significa "Allora poi...Era semplice, ma mi volevo complicare la vita".

r

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:accedere ad una text view da un altro intent
« Risposta #7 il: 26 Maggio 2011, 10:11:10 CEST »
0
ahhhh
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 racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Re:accedere ad una text view da un altro intent
« Risposta #8 il: 26 Maggio 2011, 10:30:35 CEST »
0
E passa la stringa all'activity 2 e poi impostala da là

Piu' che altro ho questa situazione in cui

Codice: [Seleziona]
OverlayItem overlayitem = new OverlayItem(point, null, idDb);
               itemizedoverlay.addOverlay(overlayitem);
               mapOverlays.add(itemizedoverlay);

e' dentro ad una funzione.

Posso passare la stringa al posto di null in questo modo riesco a gestire l'intento, ma come hai notato

Codice: [Seleziona]
public void onLocationChanged(Location location) {

vuole void.

Se lo cambio in

Codice: [Seleziona]
public String onLocationChanged(Location location) {

e ritorno la stringa mi dice che non gli sta bene.

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Re:accedere ad una text view da un altro intent
« Risposta #9 il: 26 Maggio 2011, 11:39:11 CEST »
0
Lavorandoci sopra e' stato risolto.