Autore Topic: Action Bar e interazione tra activity  (Letto 430 volte)

Offline array81

  • Utente junior
  • **
  • Post: 64
  • Respect: 0
    • Mostra profilo
    • MartinZone
  • Dispositivo Android:
    OnePlus One, Nexus S
  • Play Store ID:
    MartinZone
  • Sistema operativo:
    Windows 7
Action Bar e interazione tra activity
« il: 11 Maggio 2014, 23:49:01 CEST »
0
Sto sviluppando la mia prima applicazione per Android.
Ho la mia Activity principale dove ho collocato una una mappa (Google Maps) e una Action Bar con un pulsante. Quando faccio click sul pulsante viene aperta una seconda Activity dove sono collocati 2 campi di testo ed un pulsante. Il mio obiettivo è quello di poter inserire latitudine e longitudine nei 2 campi di testo quindi al premere del pulsante chiudere la seconda activity e visualizzare con un marker il punto sulla mappa.

Problemi:
1. All'apertura della seconda activity (che presenta anch'essa una Action Bar) l'icona sulla Action Bar presenta sulla sinistra la freccia < che dovrebbe dare la possibilità se premuta (insieme all'icona) di tornare indietro, tuttavia non funziona. Tale funzionalità deve essere implementata via codice? pensavo fosse automatica come del resto la comparsa della freccia.

2. Come posso passare il comando per visualizzare il punto all'activity principale prima di chiudere la secondaria alla pressione del tasto?

Grazie in anticipo.

Offline elfo83

  • Utente normale
  • ***
  • Post: 287
  • Respect: +23
    • Mostra profilo
  • Sistema operativo:
    Mac OS 10.8.2
Re:Action Bar e interazione tra activity
« Risposta #1 il: 15 Maggio 2014, 19:38:57 CEST »
0
2) per passare i dati del punto dalla seconda alla prima activity con la pressione del bottone basta fare così:

una volta che associ il tuo bottone segnala:
Codice (Java): [Seleziona]
Button segnala = (Button)findViewById(R.id.idBottoneSegnala)
gli aggiungi un clickListener dove prendi i dati dei campi di testo in questo modo e poi li passi alla prima activity
Codice (Java): [Seleziona]
CoordX
Codice (Java): [Seleziona]
segnala.setOnClickListener(new OnClickListener(){

                        @Override
                        public void onClick(View arg0) {

                                   String x = textViewX.getText().toString();
                                   String y = textViewY.getText().toString();
//inserisci le due coordinate nei parametri dell'intent
         
                                  Intent intent = new Intent(this, ActivityA.class);
                                  intent.putExtra("x",x);
                                  intent.putExtra("y",y);
                                  //in questo modo torni all'attività A senza crearne una nuova
                                  intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
                                  startActivity(intent);
                                  finish()
                        }
                       
                });

Una volta che torni all'Activity A nel metodo onResume() devi andare a vedere se è la prima volta che questa Activity viene creata o se è stata già creata e devi prendere le due coordinate. Ti crei due variabili Stringa nell'activity A (coordX,coordY) e farai quindi una cosa del genere :

Codice (Java): [Seleziona]
@Override
public void onResume()
{
                Bundle extras = getIntent().getExtras();
                if(extras !=null)
                {
                        coordX=extras.getString("x");
                        coordY=extras.getString("y");

                       
                }
}
e poi ci fai quello che devi.

1)leggi questa guida http://developer.android.com/training/implementing-navigation/nav-drawer.html.