Autore Topic: Avviare determinata activity da selezione dialog  (Letto 570 volte)

Offline fvlgnn

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy SII
Avviare determinata activity da selezione dialog
« il: 04 Dicembre 2012, 17:26:36 CET »
0
Ciao a tutti,
sono alle prese con un applicazione che esegue un parsing di dati e li inserisce in una lista. L'applicazione funziona, adesso volevo implementare la possibilità che l'utente scelga quale activity eseguire, una è l'apertura del browser l'altra è l'inserimento di un evento nel calndario. Queste due activity se eseguite singolarmente funzionano. Pensavo di far eseguire un dialog che dava la possibilità all'utente di selezionare quale activity eseguire. Mi sono letto qualche manuale e molto sul web ma tutti gli esempi in cui mi sono imbattuto hanno il classico toast al momento della selezione sul dialog. Non riesco a far lanciare l'activity desiderata.
Il codice che sto utilizzando è il seguente:
Codice (Java): [Seleziona]
...
final ListView lv = getListView();
lv.setTextFilterEnabled(true); 
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {                     
@SuppressWarnings("unchecked")  
HashMap<String, String> o = (HashMap<String, String>) lv.getItemAtPosition(position);  
//apro la finestra di dialogo
showDialog(CONFIRM_DIALOG);
/*
//apri browser
Intent browser = new Intent( Intent.ACTION_VIEW);
...
startActivity(browser);
//inserisci evento in calendario               
Intent calendario = new Intent(Intent.ACTION_EDIT);
...
startActivity(calendario);
*/

//Toast.makeText(Main.this, "ID '" + o.get("id") + "' was clicked.", Toast.LENGTH_SHORT).show(); */
}
});
}
protected Dialog onCreateDialog(int id) {
Dialog dialog;
switch(id) {
case CONFIRM_DIALOG:
final CharSequence[] items = {"Apri Browser", "Aggiungi Evento"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Scegli un azione!");
builder.setItems(items,new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
/* *** QUI SE NON SBAGLIO DOVREI INSERIRE L'ACTIVITY MA NON RIESCO A FARLA AVVAIRE *** */
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
/* *** QUI SE NON SBAGLIO DOVREI INSERIRE L'ACTIVITY MA NON RIESCO A FARLA AVVAIRE *** */
}
});
dialog = builder.create();
break;
default:
dialog = null;
}
return dialog;
}
Come potete immaginare non sono un esperto in Java, sono alle prime armi ma con la programmazione me la cavo.
Quale metodo dovrei usare per far avviare l'activity giusta?
Avete qualche dritta da darmi oltre quella di studiare di più il Java?  O:-)

Offline fvlgnn

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy SII
Re:Avviare determinata activity da selezione dialog
« Risposta #1 il: 07 Dicembre 2012, 10:31:13 CET »
0
Ciao, non sto chiedendo il codice da copiare e incollare, sto cercndo di capire come dovrei agire. Qualcuno può darmi una dritta su cosa studiare? Qualche link da consultare? Ho 3 libri di Android ma nessuno di questi riporta una soluzione per il mio problema.
Grazie.

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Avviare determinata activity da selezione dialog
« Risposta #2 il: 07 Dicembre 2012, 11:34:55 CET »
0
Ciao fvlgnn

Dai una lettura generale a tutto questo documento:
Dialogs | Android Developers

Qui c'è la parte che ti interessa:
Dialogs | Android Developers

nel metodo onClick poi, sceglierai quale activity avviare in base alla scelta dell'utente.

Offline fvlgnn

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy SII
Re:Avviare determinata activity da selezione dialog
« Risposta #3 il: 07 Dicembre 2012, 15:19:19 CET »
0
Grazie mille Qlimax,
aspetterei a chiudere il topic, in caso riesca nell'impresa posto il codice utilizzato.
Grazie ancora del supporto,
Gianni