Ho un'applicazione che deve scaricare JSON dall'URL utilizzando AsyncTask e on onExcute() passare quell'oggetto JSON alla prossima attività utilizzando il metodo putExtra, ma ricevo costantemente un errore, che legge "putExtra può essere utilizzato solo per passare stringhe e non oggetti"? Come risolvere questo problema?Come passare l'oggetto JSON alla nuova attività
risposta
Fate questo quando passa il param:
intent.putExtra("json", jsonobj.toString());
E nella tua nuova attività per analizzarlo in questo modo:
JSONObject obj = new JSONObject(getIntent().getStringExtra("json"));
si dovrebbe passare un oggetto serializzabile o Parcelable attraverso putExtra, come JSONObject è né oggetto serializzabile o parcellizzabile, quindi non puoi passarlo attraverso putExtra.
Quindi è necessario rendere una classe Parcelable o Serializable dall'analisi di un oggetto JSONObject, quindi è possibile utilizzare il metodo putExtra per passarlo.
L'altra opzione è passare stringa JSON da jsonOjbect.
nell'attività in cui si stanno ottenendo i dati JSON scrivere il seguente codice da inviare al Tab
Intent i = new Intent(getApplicationContext(), Another_Activity.class);
i.putExtra("key", jsonObject.toString());
startActivity(i);
per accedere ai dati ovvero oggetto JSON scrivere il seguente codice nella scheda Attività
JSONObject jsonObject = new JSONObject(getIntent().getStringExtra("key"));
Toast.makeText(Another_Activity.this, ""+jsonObject.get("Your JSON VALUE"), Toast.LENGTH_SHORT).show();
Il tuo JSON VALUE è il file presente nei dati. ad esempio, "Id Affari" 1 qui ID è il valore JSON, sostituirlo con la vostra
Puoi aggiungere spiegazioni testuali al tuo codice? –
- 1. Passare argomenti alla nuova app sinatra
- 2. Nuova attività - Nuovo menu
- 3. Swift: Attiva il pulsante per passare alla nuova scena
- 4. Notepad ++ passare alla definizione
- 5. Come avviare una nuova attività utilizzando l'intenzione in sospeso
- 6. Android Come passare LinkedHashMap tra le attività?
- 7. Come passare alla scheda attiva in Selenium?
- 8. Come passare raw JSON tramite Jackson?
- 9. Oggetto JS alla stringa JSON?
- 10. goniometro passare alla scheda precedente
- 11. Come passare AttributeSet alla vista personalizzata
- 12. Come si apre il collegamento WebView a una nuova attività?
- 13. Cancella attività Stack e inizia nuova attività in Android
- 14. Come passare PDF come input alla stampante
- 15. circolare rivelano transizione per nuova attività
- 16. Passare js oggetto come json a jquery?
- 17. Come accedere alla nuova pagina HTML dallo script PHP?
- 18. Android torna alla precedente attività
- 19. Come chiudere l'attività e tornare alla precedente attività in Android
- 20. Fine chiamata() Dopo aver avviato una nuova attività
- 21. JS volantino: Come passare (Geo) ID JSON per l'evento click?
- 22. Sposta td alla nuova colonna
- 23. listView va onclick a una nuova attività
- 24. Come aggiungere una nuova riga alla fine di file.write()?
- 25. Più notifiche alla stessa attività
- 26. Come passare il contesto alla funzione anonima?
- 27. Come passare i parametri alla funzione setTimeout
- 28. Come passare HTML alla direttiva angolare?
- 29. Come passare i dati alla finestra principale?
- 30. Come passare alla modalità REPLACE in VIM
Non capisco che R.id.param parte, ecco il codice 'protected void OnPostExecute (risultato Object) { \t \t \t Intent startApp = new Intent ("com.example.androidhive.HOME"); \t \t \t startApp.putExtra (R.id.param, result.toString()); \t \t \t startActivity (startApp); \t \t \t // finish(); \t \t} ' –
Questa è solo la chiave, puoi mettere tutto quello che vuoi lì dentro. –
rimuovere R.id.param e passare qualsiasi stringa come chiave –