Y Es habe ich auch dieses Problem konfrontiert.
Viele Entwickler sehen sich auch Problemen gegenüber, wenn sie Daten über Dialog oder eine andere Aktivität durch Intent oder Bundle übergeben. Es gibt null zum Zeitpunkt der Abfrage von einer anderen Aktivität zurück.
Und die einzige Lösung ist SharedPreferences.
Aber Sie haben es in der Schaltfläche entlassen zu platzieren. (Ex: ok/Abbrechen usw.)
und die Daten von einer anderen Aktivität leicht durch den gleichen Schlüssel abrufen. Verwenden Sie keinen Dienst, gefolgt von Sendeabsicht.
Der Code im Dialog Aktivität ist wie folgt:
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();
}
});
Und von der anderen die Daten wie folgt holen:
SharedPreferences bb = getSharedPreferences("my_prefs", 0);
String m = bb.getString("NUM", "");
Toast.makeText(this, m, Toast.LENGTH_SHORT).show();
einige checkings für einen guten Standard hinzufügen.
Vielen Dank
Und dann für das, was Sie Daten senden möchten? es macht keinen Sinn für mich. – Sajmon
@sajmon Ich sende diese Daten, um sie in einer anderen Aktivität anzuzeigen, möchte sie aber nicht über diese Aktivität öffnen. Macht das jetzt für Sie Sinn? – scripter
jetzt ja Entschuldigung> :) Sie können jetzt Werte in SharedPreferences speichern und sie dann abrufen, wann immer Sie wollen. – Sajmon