Autore Topic: Passare una stringa da onCreate a onOptionsItemSelected, come?  (Letto 899 volte)

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Passare una stringa da onCreate a onOptionsItemSelected, come?
« il: 27 Maggio 2011, 17:55:02 CEST »
0
Ciao a tutti,

Come passo un valore da onCreate a onOptionsItemSelected? Mi serve perche' devo attivare una funzione e i valori sono in onCreate.

Codice: [Seleziona]
public void onCreate(Bundle savedInstanceState) {
Cursor loc = myDbHelper.fetchGeo(newGeoId);
           if(loc == null)
               Log.v(LOG_TAG, "HOLY-cursor null");
           
           startManagingCursor(loc);

String mLat = loc.getString(loc.getColumnIndexOrThrow(GeoDbAdapter.KEY_LAT));
String mLng = loc.getString(loc.getColumnIndexOrThrow(GeoDbAdapter.KEY_LNG));
...
}
mLat e mLng provengono dal db
Codice: [Seleziona]
@Override
       public boolean onOptionsItemSelected(MenuItem item) {
           switch(item.getItemId()) {
               case R.id.menu_viewlocation:
                       //Get the current location
                       Location orLocation = myLocation();
                       double lat_s = orLocation.getLatitude();
                       double lng_s = orLocation.getLongitude();
                       
               loadGoogleMaps(lat_s, lng_s, lat_d, lng_d);
               
                   return true;
               default:
                   return super.onOptionsItemSelected(item);
         
           }

           //return super.onOptionsItemSelected(item);
       }


Ho provato a mettere
Codice: [Seleziona]
        public String mLat;
        public String mLng;

come variabili pubbliche ma poi il valore e' NULL

Qualche consiglio?

Offline Tk.3

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: +2
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Passare una stringa da onCreate a onOptionsItemSelected, come?
« Risposta #1 il: 27 Maggio 2011, 18:07:31 CEST »
0
prova a inserire questi
Codice (Java): [Seleziona]
String mLat;
       String mLng;

come "private" qua
Codice (Java): [Seleziona]
public class tuaActivity extends Activity {
        private String mLat;
        private String mLng
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ...


Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Re:Passare una stringa da onCreate a onOptionsItemSelected, come?
« Risposta #2 il: 27 Maggio 2011, 18:12:00 CEST »
0
Prima erano li come public, ma sia private che public mi da null.

Offline Tk.3

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: +2
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Passare una stringa da onCreate a onOptionsItemSelected, come?
« Risposta #3 il: 27 Maggio 2011, 18:14:48 CEST »
0
se provi senza ne private ne public?
Strano, a me funziona.

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Re:Passare una stringa da onCreate a onOptionsItemSelected, come?
« Risposta #4 il: 27 Maggio 2011, 18:18:18 CEST »
0
Nope,

Non funziona.

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:Passare una stringa da onCreate a onOptionsItemSelected, come?
« Risposta #5 il: 27 Maggio 2011, 18:18:53 CEST »
0
Studia java.
Postate il LogCat LogCat LogCat LogCat LogCat

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Re:Passare una stringa da onCreate a onOptionsItemSelected, come?
« Risposta #6 il: 27 Maggio 2011, 18:25:14 CEST »
0
Studia java.

Provero' anche quello prima o poi.

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Re:Passare una stringa da onCreate a onOptionsItemSelected, come?
« Risposta #7 il: 27 Maggio 2011, 18:37:05 CEST »
0
Ahhh lo SCOPE...Ok errore banale ma importante.

Praticamente

public String mLat;
public String mLng;

Vanno si dichiarati come da esempio
Codice: [Seleziona]
public class tuaActivity extends Activity {
        public String mLat;
        public String mLng
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

ma una cosa che ho tralasciato era di RIMUOVERE la keyword "String" in
Codice: [Seleziona]
public void onCreate(Bundle savedInstanceState) {
Cursor loc = myDbHelper.fetchGeo(newGeoId);
           if(loc == null)
               Log.v(LOG_TAG, "HOLY-cursor null");
           
           startManagingCursor(loc);

String mLat = loc.getString(loc.getColumnIndexOrThrow(GeoDbAdapter.KEY_LAT));
String mLng = loc.getString(loc.getColumnIndexOrThrow(GeoDbAdapter.KEY_LNG));
...
}

Tralasciandola come ho fatto utilizzo differenti spazi di memoria. Ergo. Rimosso "String" la variabile e' la stessa e tutto funziona.

r

Offline Tk.3

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: +2
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Passare una stringa da onCreate a onOptionsItemSelected, come?
« Risposta #8 il: 27 Maggio 2011, 18:38:59 CEST »
0
Buon per te. Buon lavoro.  ;-)

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Re:Passare una stringa da onCreate a onOptionsItemSelected, come?
« Risposta #9 il: 27 Maggio 2011, 18:39:47 CEST »
0
Tks e grazie dei suggerimenti.

Offline Tk.3

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: +2
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Passare una stringa da onCreate a onOptionsItemSelected, come?
« Risposta #10 il: 27 Maggio 2011, 18:46:19 CEST »
+1
figurati. Cmq per ringraziare c'è un tastino apposito vicino al nome utente!  ;-)