Autore Topic: Aggiornamento del database...  (Letto 383 volte)

Offline paul78

  • Utente normale
  • ***
  • Post: 359
  • Respect: +1
    • Mostra profilo
    • Android Code
  • Sistema operativo:
    Linux - Windows
Aggiornamento del database...
« il: 31 Agosto 2013, 18:25:32 CEST »
0
ciao a tutti!!!

dopo aver effettuato l'inserimento dei dati in una tabella, appena entro nell'altro activity per la lista dei dati inseriti non mi esce l'ultimo dato inserito...ma se dovessi riavviare il tablet virtuale mi appare tutta la lista....

come posso risolverlo???
tutti possiamo programmare...basta volerlo!!!

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Aggiornamento del database...
« Risposta #1 il: 31 Agosto 2013, 18:55:32 CEST »
0
Di solito è perchè dopo l'inserimento si dovrebbe aggiornare il dataset a cui è collegata la listview e notificare all'adapter che è cambiato.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline paul78

  • Utente normale
  • ***
  • Post: 359
  • Respect: +1
    • Mostra profilo
    • Android Code
  • Sistema operativo:
    Linux - Windows
Re:Aggiornamento del database...
« Risposta #2 il: 31 Agosto 2013, 19:30:40 CEST »
0
...e come si aggiorna il dataset???

tutti possiamo programmare...basta volerlo!!!

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Aggiornamento del database...
« Risposta #3 il: 31 Agosto 2013, 19:39:36 CEST »
0
...e come si aggiorna il dataset???

Dipende da come hai implementato la ListView ed il relativo adapter. Dipende dalla sorgente dati (cursor o arraylist).

Insomma dipende dal tuo codice.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline paul78

  • Utente normale
  • ***
  • Post: 359
  • Respect: +1
    • Mostra profilo
    • Android Code
  • Sistema operativo:
    Linux - Windows
Re:Aggiornamento del database...
« Risposta #4 il: 31 Agosto 2013, 19:46:57 CEST »
0
questo  è il mio cod.:

Codice (Java): [Seleziona]
public class ListaSelezione extends ListActivity {
        Intent intent;
        TextView contattiIdText, nomeText, baseText, testoText;
        DBController controller = new DBController(this);
        ArrayList<HashMap<String, String>> contattiList;
         
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.lista_selezione);
               
                controller = new DBController(this);
                     
               

                        contattiList =  controller.getAllSelezione();                          
                        Collections.sort(contattiList,new Comparator<HashMap<String,String>>(){
                            public int compare(HashMap<String,String> mapping1,HashMap<String,String> mapping2){
                                return mapping1.get("nome").compareTo(mapping2.get("nome"));
                            }
                        });
                        if(contattiList.size()!=0) {
                        ListView lv = getListView();
                        lv.setOnItemClickListener(new OnItemClickListener() {
                                  @Override
                                  public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
                                          ...

                                  }
                        });
                        ListAdapter adapter = new SimpleAdapter( ListaSelezione.this,contattiList, R.layout.row_lista_selezione, new String[] { "contattiId","nome"}, new int[] {R.id.contattiIdText, R.id.nomeText});
                        setListAdapter(adapter);               
                        }
        }
        public void indietroSelezione(View view) {
                Intent objIntent = new Intent(getApplicationContext(), MainActivity.class);
                objIntent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
                startActivity(objIntent);              
        }

}

Post unito: 31 Agosto 2013, 20:03:26 CEST
ho trovato l'errore!!!!

era qua'!!!!!!

invece di scrivere
ListView lv = getListView();

dovevo scrivere
lv = getListView();

in questo modo ho risolto!!!

grazie mille!!!

Post unito: 31 Agosto 2013, 20:14:36 CEST
ah!! dimenticavo...

da aggiungere anche :


((BaseAdapter) adapter).notifyDataSetChanged();

dopo

setListAdapter(adapter);   

spero sia d'aiuto ad'altre persone!!!!



« Ultima modifica: 31 Agosto 2013, 20:14:37 CEST da paul78, Reason: Merged DoublePost »
tutti possiamo programmare...basta volerlo!!!