我一直在尋找其他很多答案,其中最完整的答案是:Sending data back to the Main Activity in android。遵循這些最好的方法,當我嘗試從返回的意圖中獲取字符串時,我看不到任何數據。意向數據沒有返回
以下是用startActivityForRestult()調用第二個活動的主要活動,然後在textview中顯示來自intent的字符串。
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);
}
}
而我試圖將可變字符串任務返回到主活動的第二個活動。 代碼截斷只是意圖返回部分:
String task = "foo";
Intent returnIntent = getIntent();
returnIntent.putExtra("TASK", task);
setResult(Activity.RESULT_OK,returnIntent);
finish();
從一切我已閱讀,這應該是所有的參與,但我錯過了一些東西,因爲沒有在第一個活動顯示了,我不清楚爲什麼。