两个activity之间的跳转和传输数据以及返回数据
A跳转到B并等待B传回数据
public class MainActivity extends AppCompatActivity { public final static int REQUEST_CODE = 1; private Button jump_btn; private TextView jump_tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { jump_btn = findViewById(R.id.btn_jump); jump_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { jump(); } }); jump_tv = findViewById(R.id.tv_jump); } private void jump() { Intent intent = new Intent(MainActivity.this,Activity_2.class); intent.putExtra("news","你好,我是地球程序员"); startActivityForResult(intent,REQUEST_CODE); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode == REQUEST_CODE && resultCode == Activity_2.RESULT_CODE){ jump_tv.setText(data.getStringExtra("name")); } } } |
public class Activity_2 extends AppCompatActivity { public final static int RESULT_CODE = 1; private Button jump_btn; private TextView tv_accept; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_2); initView(); } private void initView() { jump_btn = (Button) findViewById(R.id.btn_jump); tv_accept = (TextView) findViewById(R.id.tv_accept); jump_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { jump(); } }); accept(); } private void accept() { Intent intent = getIntent(); String str_accept = intent.getStringExtra("news"); tv_accept.setText(str_accept); } private void jump() { Intent intent = new Intent(); intent.putExtra("name","来自异次元的消息"); setResult(RESULT_CODE,intent); finish();//不要忘了finish(); } }