Problema per Passaggio dati tra activity

di il
17 risposte

Problema per Passaggio dati tra activity

Ciao, finalmente sono riuscito a passare i dati da una activity ad n'altra, come mi serviva,attualmente uso il metodo onclick, mediante un botto che mi effettua dei calcoli e mi riporta i totali a fondo activity sotto alla listview.
Vorrei sapere se ed eventualmente come posso effettuare il tutto senza dover premere il bottone di richiamo activity ogni volta che aggiungo dei dati da sommare.In pratica, attualmente ho:
Button button=(Button)findViewById(R.id.passa);
			               button.setOnClickListener(new OnClickListener() {
			            	   
			           public void onClick(View v) {
			            startActivity(intent);
che ogni volta che premo mi aggiorna le somme,come faccio ad effettuare la medesima operazione eliminando il bottone, all'avvio della applicazione e successivi update, è possibile?quali modifiche devo effettuare?
Ho pensato al comando
startActivityForResult(intent, 0);
che forse potrebbe fare al caso mio, ma non so proprio come inserirlo, qualcuno mi può aiutare grazie.

17 Risposte

  • Re: Problema per Passaggio dati tra activity

    Possibile che nessuno sappia darmi una info, almeno su cosa cercare?
  • Re: Problema per Passaggio dati tra activity

    Ciao, ti rispondo direttamente qua così se qualcuno ha da aggiungere qualcosa può farlo.
    Secondo me il motivo per cui nessuno ha risposto è che la domanda non è molto chiara e non si capisce bene quello che vuoi fare.
    Forse mi sbaglio, ma credo di intuire che tu faccia tutto questo giro di activity solamente per fare il refresh del totale. Se così fosse, allora si tratta di un metodo errato: è come se in un browser ogni volta aprissi una nuova scheda per visualizzare il calcolo invece di aggiornare quella già aperta. Come puoi intuire è altamente inefficiente.
    Se così non fosse, invece, prova a spiegare un po' meglio la situazione
  • Re: Problema per Passaggio dati tra activity

    Hai ragione, scusami, l'obiettivo era cmq quello di passare dei dati da una activity d un'altra senza dover necessariamente usare il classico bottone, in parole povere automaticamente all'apertura o al momento in cui il database viene aggiornato con nuovi dati.
  • Re: Problema per Passaggio dati tra activity

    Beh il meccanismo è lo stesso: crei un intent e richiami il metodo startActivity. Solo che invece di metterlo nella callback del Button devi metterla nella parte di codice che gestisce l'evento desiderato, nello specifico l'apertura (immagino ti riferisca all'avvio dell'activity) o alla modifica dei dati del DB
  • Re: Problema per Passaggio dati tra activity

    Ciao, ho risolto semplicemente riducendo l'altezza della listview, cmq ho provato ad eliminare il bottone e dare direttamente lo start activity, sia prima che dopo il while, a il risultato era che in ogni caso andavo in loop,guardando sul log, non mi dava errori, ma continuava a macinarmi i conteggi e le query all'infinito, bloccandomi di conseguenza la possibilità di ogni altro tipo i operazione.
  • Re: Problema per Passaggio dati tra activity

    Non so come sia organizzata la tua app, ma se viene generato un loop fra activity allora le situazioni che mi vengono in mente sono le seguenti:
    • un'activity richiama se stessa
    • un'activity A lancia un'activity B, la quale a sua volta lancia A
    • il codice per il lancio di 1 activity è messo in un loop
    E ognuna di esse a mio parere deriva da un utilizzo errato dei componenti dell'ambiente android.
    In ogni caso se hai comunque risolto meglio così!
  • Re: Problema per Passaggio dati tra activity

    Mi sono trovato in questa condizione:
    Cursor fcursor = dataBase.rawQuery("SELECT COUNT(turno) AS ferie FROM "+DbHelper.TURNI_TABLE+" WHERE MESE = 'Gennaio'and TURNO = 'F'", null);
    				      		
    			               int colIndex3 = fcursor.getColumnIndex("ferie");
    			               if (colIndex3 == -1)
    			               return;
    			               else
    			                fcursor.moveToFirst();
    			               ferie = fcursor.getInt(colIndex3);
    			               System.out.println("La somma è "+ferie);
    			               turni_totore.add(ferie+"");
    			               Integer.toString(ferie);
    			              
    			              double Totore=totore;
    			              String mese="Gennaio";
    			              int Mutua=mutua;
    			               int Ferie=ferie;
    			               double Str=str;
    				           intent=new Intent(getApplicationContext(), Main.class);
    				           String trn=getPackageName();
    				           intent.putExtra(trn+".Intmese", mese);
    				           intent.putExtra(trn+".Intmutua", Mutua);
    				           intent.putExtra(trn+".Intferie", Ferie);
    				           intent.putExtra(trn+".Intstr", Str);     
    				           intent.putExtra(trn+".Inttotore", Totore); {{
    			            startActivity(intent); 
    	            	   }
    	               };        
    	              
    
    	} while (mCursor.moveToNext());
    }
    		DisplayAdapter disadpt = new DisplayAdapter(Gennaio.this,turni_Id,turni_giorno,turni_mese,turni_turno,turni_ore);
    		turniList.setAdapter(disadpt);
    		disadpt.notifyDataSetChanged();
    	    mCursor.close();
    	    return;
    	   }
    
    	   
    
    	}
    
    ed in questo modo mi creavo il loop, penso dovuto all'istruzione while
  • Re: Problema per Passaggio dati tra activity

    Domanda al volo, come al solito ne approfitto spero di spiegarmi bene questa volta:
    Nel mio db, inserisco oltre al mese, anche l'anno + altri dati, facendo una query di questo tipo:
    Cursor mCursor = dataBase.rawQuery("SELECT * FROM " + DbHelper.TURNI_TABLE+" WHERE MESE = 'Gennaio'and ANNO = '2014'", null);
    , è possibile fre in modo che attraverso una edittext e passaggio dati riuscire a cambiare il valore 2014 con 2015 o altro? Questo mi permetterebbe di creare un db unico per + anni.
  • Re: Problema per Passaggio dati tra activity

    Il codice che hai postato mostra la presenza di un do..while all'interno del quale lanci una nuova activity, cosa in generale non corretta (il tuo back stack sarà pieno di activity identiche e che non hanno motivo di esistere). Se l'obiettivo è quello di aggiornare i valori allora il metodo usato è semplicemente sbagliato (e, ripeto, inefficiente).

    Riguardo alla seconda domanda la risposta è "si, basta non usare valori hardcoded ma delle variabili".

    EDIT:
    Questo mi permetterebbe di creare un db unico per + anni
    Con questa domanda mi viene il dubbio che tu abbia creato un DB per ogni mese..non è così vero??
  • Re: Problema per Passaggio dati tra activity

    Assolutamente no, e proprio su questo che mi baso, ho creato un db che mi riporta in ordine anno,mese,giorno,turno e ore, pensavo di utilizzarlo per più anni e qui mi è sorta l'esigenza di questo tipo di query, visualizzando i turni del 2014 oppure anni successivi, attualmente nella listview, mediante 12 classi (una per mese) mi visualizzo i vari turni mese per mese, ma se posso,vorrei modificare la query in modo da estendere le possibilità selezionando oltre al mese anche l'anno, in questo modo avrei un db completo valevole per più anni.
    Rileggendo la tua risposta, immaginavo che posso usare delle variabili, ma.. qui mi sorge la domanda, quale sintassi devo usare? sto cercando in rete, ma non so esattamente cosa googlare.
  • Re: Problema per Passaggio dati tra activity

    giannit ha scritto:


    mediante 12 classi (una per mese)
    E' l'equivalente object-oriented di creare 12 tabelle in campo database!!

    giannit ha scritto:


    Rileggendo la tua risposta, immaginavo che posso usare delle variabili, ma.. qui mi sorge la domanda, quale sintassi devo usare? sto cercando in rete, ma non so esattamente cosa googlare.
    What about ?
    Comunque si tratta di pura sintassi java, con android non cambia nulla!
  • Re: Problema per Passaggio dati tra activity

    Confesso che non capisco cosa sia object oriented per quanto riguarda il discorso variabili sto guardando.Spero di riuscirci. Se ho ben capito dichiarò la variabile e la invio al select..... Quello che no riesco a capire e la sintassi corretta

    Inviato dal mio GT-H9500 utilizzando Tapatalk
  • Re: Problema per Passaggio dati tra activity

    Il discorso sull'object oriented era solo per dire che la sintassi non è una particolarità di android ma deriva dal linguaggio usato, nello specifico java.

    La sintassi è "stringa"+variabile+"stringa", e altro non è che il concatenamento.

    Quando parlavo di "studiare" intendevo dire che secondo me è impensabile sviluppare una qualsiasi applicazione senza conoscere almeno le basi della programmazione, in questo caso appunto il mondo OO e in particolare java


    Sent from my iPhone using Tapatalk
  • Re: Problema per Passaggio dati tra activity

    Vero, come ti dicevo non amo i libri e non ho il tempo per studiare,magari ci metto mooolto di più ma alla fine riesco, é anche vero che spesso devo chiedere info sui forum oltre che leggere molto ma non ho altre scelte o metodi per imparare.Diciamo che sbatto il naso sul campo finché non capisco.

    Inviato dal mio GT-H9500 utilizzando Tapatalk
Devi accedere o registrarti per scrivere nel forum
17 risposte