私は他の多くの回答を探していますが、最も完全な回答はSending data back to the Main Activity in androidです。私ができることは最高ですが、返される意図から文字列を取得しようとすると、データが表示されません。インテントデータが返されない
startActivityForRestult()を使用して2番目のアクティビティを呼び出す主なアクティビティを次に示します。次に、インテントの文字列をテキストビューに表示します。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Bundle extras = getIntent().getExtras();
if (extras != null) {
String myStr = extras.getString("TASK");
TextView tv = (TextView) findViewById(R.id.taskList);
tv.setText(myStr);
}
}//onActivityResult
/** Called when the user clicks the Add Task button */
public void addTask(View view) {
Intent intent = new Intent(this, AddTaskActivity.class);
startActivityForResult(intent, 1);
}
}
また、変数の文字列タスクをメインアクティビティに戻そうとしている2番目のアクティビティです。 コードは、ちょうど意図リターンセクションに切り捨て:私は読んだことがあるすべてのものから
String task = "foo";
Intent returnIntent = getIntent();
returnIntent.putExtra("TASK", task);
setResult(Activity.RESULT_OK,returnIntent);
finish();
が、これはすべてのことが含まれるべきであるが、何も最初のアクティビティに表示しないように私は、何かを見逃している、と私は不明ですなぜ。