Nella mia app ho un ContentProvider collegato a una tabella in un database con un CursorLoader che riempie un ListView in una delle mie Attività. Questa tabella è vuota per impostazione predefinita e viene riempita con i dati di input dell'utente. Voglio consentire all'utente di eliminare completamente tutti i dati memorizzati e sto cancellando l'intero database quando questa opzione è selezionata. Il database viene quindi ricreato nel suo stato predefinito quando l'utente inizia a utilizzare nuovamente l'app, proprio come se fosse la prima volta che utilizzava l'app.Come forzare il ripristino di un fornitore di contenuti durante l'eliminazione manuale del database
Il mio problema è quando cancello il database, il ContentProvider non rileva che il database è stato cancellato e quando torno alla mia attività listview, l'elenco è ancora lì. Sto anche facendo in modo che l'app ricarichi completamente l'attività ListView invece di riprendere solo dalla memoria e l'elenco è ancora lì anche se il database è vuoto. L'unico modo per ricaricare ContentProvider è quello di uccidere l'app nelle impostazioni di sistema e riaprirla.
C'è un modo per riavviare forzatamente ContentProvider o per dirgli che i dati sono stati aggiornati dall'esterno della classe ContentProvider stessa?
Sì, questo è quello che sto facendo. Il problema qui è che ContentProvider è collegato solo a una tabella del mio database e un'attività separata che non utilizza il provider elimina l'intero database quando l'utente vuole attraverso getApplicationContext(). DeleteDatabase (myDb). C'è un modo per inviare un trigger al provider per riavviarlo/aggiornarlo quando non ho accesso diretto al contentResolver? Attualmente sto utilizzando il metodo delete nel mio provider per eliminare singole righe dalla tabella che viene utilizzata per il mio listview/cursoradapter, come suggerito. – wynalazca
Se si sta utilizzando un caricatore per caricare listview, è anche possibile chiamare il riavvio sul caricatore subito dopo aver eliminato il database – wangyif2
Hai risolto questo problema? Hai provato l'approccio del caricatore? – wangyif2