OK、タイトルはそれほど多くのタイトルではありませんが、私を判断しないでください。私はウェブサイトを検索しましたが、他にもたくさんありますが、正しい答えが見つからないようです。問題はこれです:
1つのメインアクティビティ(アクティビティA)を持つAndroidアプリを作成しました。これにより、別のアクティビティBが開き、データを入力します。そのデータを最初のアクティビティに転送してから、データベースに記録する必要があります。
私はこのようにします:
活動A:
-新しいインテントを呼び出してから、startActivityForResult()
メソッドを呼び出します。
2番目のアクティビティで保存ボタンを押すと、これが実行されます。
btnSave.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(getApplicationContext(), MainActivity.class);
i.putExtra("date", dateText.getText().toString());
i.putExtra("time", timeText.getText().toString());
i.putExtra("text", taskText.getText().toString());
setResult(100);
startActivity(i);
}
});
最初のアクティビティ(メインアクティビティ)に戻ると、このメソッドが呼び出されます。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode==100)
{
i = getIntent();
String text = i.getStringExtra("text");
String date = i.getStringExtra("date");
String time = i.getStringExtra("time");
Toast.makeText(this, text + "-" + date + "-" + time, Toast.LENGTH_LONG).show();
}
super.onActivityResult(requestCode, resultCode, data);
}
トーストメッセージでは、null値のみが取得されます。これは、データが2番目のアクティビティから最初のアクティビティに転送されなかったことを意味します。誰かが私を助けてくれますか?ところで、データはデータベースに保存する必要がありますが、それは別の問題です、後で私のために物事を複雑にしないのに役立つかもしれない場合に備えて、私はちょうどそれを述べました。
よろしくお願いします:D