Y Ho anche affrontato questo problema.
Molti sviluppatori affrontano anche problemi durante il passaggio di dati dalla finestra di dialogo a un'altra attività tramite Intento o Pacchetto. Restituisce null al momento del recupero da un'altra attività.
E l'unica soluzione è SharedPreferences.
Ma bisogna posizionarlo all'interno del pulsante respingere. (Es: OK/Cancel ecc)
e recuperare i dati da un'altra attività facilmente attraverso la stessa chiave. Non utilizzare alcun servizio seguito dall'intento di trasmissione.
Il codice di attività di dialogo è come questo:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.drawable.mailicon);
builder.setTitle(name);
builder.setView(view);
builder.setPositiveButton("Send Request",new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which) {
String mailID = id.getText().toString();
//Here define all your sharedpreferences code with key and value
SharedPreferences prefs = getSharedPreferences("my_prefs", MODE_PRIVATE);
SharedPreferences.Editor edit = prefs.edit();
edit.putString("MID", mailID);
edit.commit();
}
});
E da un altro recuperare i dati in questo modo:
SharedPreferences bb = getSharedPreferences("my_prefs", 0);
String m = bb.getString("NUM", "");
Toast.makeText(this, m, Toast.LENGTH_SHORT).show();
aggiungere alcune verifiche per un buon livello.
Grazie
E quindi per ciò che si desidera inviare i dati? non ha senso per me. – Sajmon
@sajmon sto inviando questi dati per mostrare in un'altra attività ma non voglio aprirlo attraverso questa attività, ora ha senso per te? – scripter
ora si dispiace> :) così ora è possibile salvare i valori in SharedPreferences e quindi recuperarli quando lo si desidera. – Sajmon