CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: megthebest con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: bluemask con ben 8 Thanks ricevuti negli ultimi sette giorni
Utente del mese: carotix con ben 24 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 1 su 1
Discussione:

passaggio parametri tra piu intent

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Aug 2010
    Messaggi
    13

    Ringraziamenti
    5
    Ringraziato 0 volte in 0 Posts
    Cool

    [RISOLTO] passaggio parametri tra piu intent

    Ciao...
    ho un main che lancia la Activity che mostrerò in seguito.
    Se metto il "setResult" dentro la "onCreate" funziona tutto e i parametri mi tornano al main,
    se invece passo da una nuova Intent non riesco piu a tornare al main (con i parametri restituiti)

    ecco il codice della seconda Activity:
    codice:
    public class LoremBase extends ListActivity {
     
            private String id_comune;
            private String nome_comune=null;
            private DatabaseHelper db;
            private static final int LOCAL_SEARCH_ID = Menu.FIRST+1;
            private static final int GLOBAL_SEARCH_ID = Menu.FIRST+2;
            TextView selection;
            ArrayList<String> items=new ArrayList<String>();
            Intent data;
            Activity a= this;
            Context c;
    
      
      protected void onDestroy() {  
        if(this.db!=null)this.db.close();
        ((SearchManager)getSystemService("search")).setOnCancelListener(null);
        super.onDestroy();
      }
      
      @Override
      public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        selection=(TextView)findViewById(R.id.selection);
        
        
        setTitle("Digita il nome del comune");
       // SearchManager localSearchManager = (SearchManager)getSystemService("search");    
        setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);        
        onNewIntent(getIntent());
        
        onSearchRequested();
        super.onCreate(icicle);
      }
      
      
      @Override
      protected void onNewIntent(Intent intent)
      {
        super.onNewIntent(intent);
        String str1 = intent.getAction();    
        
            /* Se ho premuto il tasto cerca */
        if ("android.intent.action.SEARCH".equals(str1))
        {
            
             ListAdapter adapter=null; 
             String query=intent.getStringExtra(SearchManager.QUERY);
            
            if(items!=null)items.clear();
            DatabaseHelper databaseHelper = new DatabaseHelper(this);
            this.db=databaseHelper;
                    Cursor cur = databaseHelper.getComune(query);
                    
                    cur.moveToFirst();
            while (cur.isAfterLast() == false) {           
                    items.add(cur.getString(cur.getColumnIndex(Comuni_table.NOME)));
                cur.moveToNext();
            }
            cur.close();
            
            adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,items); 
            setListAdapter(adapter); 
            
            
        }
        return;
        
      }
      
    @Override
    public void finish() {
        Intent data = new Intent();
        data.putExtra("returnKey1", "Swinging on a star. ");
        setResult(RESULT_OK, data); 
        super.finish();
    }
    
    
      @Override
      public void onListItemClick(ListView parent, View v, int position, long id) {                    
                finish();       
      }
        
      @Override
      public boolean onCreateOptionsMenu(Menu menu) {
        menu.add(Menu.NONE, LOCAL_SEARCH_ID, Menu.NONE, "Local Search")
                .setIcon(android.R.drawable.ic_search_category_default);
        
        menu.add(Menu.NONE, GLOBAL_SEARCH_ID, Menu.NONE, "Global Search")
                .setIcon(R.drawable.search)
                .setAlphabeticShortcut(SearchManager.MENU_KEY);
      
        return(super.onCreateOptionsMenu(menu));
      }
    
      @Override
      public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
          case LOCAL_SEARCH_ID:
            onSearchRequested(); 
            return(true);
          
          case GLOBAL_SEARCH_ID:
            startSearch(null, false, null, true); 
            return(true);
        }
    
        return(super.onOptionsItemSelected(item));
      }
    }
    Il problema è che i parametri passano e tornano al main..solo dopo aver premuto il tasto "back"... ovvero
    ogni volta che faccio una ricerca col search passo da onCreate()
    e quindi creo un nuovo intent..
    dovrei distruggere il vecchio intent, ma come?
    Mi sa che sto sbagliando qualcosa
    Qualcuno, se ha voglia, potrebbe darmi una dritta?



    [ R I S O L T O ]
    ..mancavano
    setOnDismissListener e setOnCancelListener
    Ultima modifica di walter; 09-11-11 alle 18:14

  2.  

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy