はい、私もこの問題に直面しました。
多くの開発者は、Intent または Bundle を介してダイアログから別のアクティビティにデータを渡すときにも問題に直面しています。別のアクティビティからの取得時に null を返します。
唯一の解決策は SharedPreferences です。
ただし、閉じるボタンの中に配置する必要があります。(例: OK/キャンセルなど)
また、同じキーを使用して別のアクティビティからデータを簡単に取得できます。ブロードキャスト インテントが後に続くサービスは使用しないでください。
ダイアログ アクティビティのコードは次のようになります。
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();
}
});
そして、別のフェッチから次のようなデータを取得します。
SharedPreferences bb = getSharedPreferences("my_prefs", 0);
String m = bb.getString("NUM", "");
Toast.makeText(this, m, Toast.LENGTH_SHORT).show();
適切な基準のためにいくつかのチェックを追加します。
ありがとうございました