Android 开发之 Activity、Fragment 之间数据传递

Activity 之间传递基本数据类型

  1. 正向传递
    方法一:使用 intent
//传值部分
Intent intent = new Intent();
intent.putExtra(key,value);
startActivity(intent);
----------------------分割线-------------------------
//接收数据部分
Intent intent = this.getIntent().getExtra();
String s = intent.getString(key);

方法二:使用 Bundle

//传值部分
Intent intent = new Intent(MainActivity.this,Main2Activity.class);
Bundle bundle = new Bundle();
bundle.putString(key,value);
intent.putExtras(bundle);
startActivity(intent);
//接收部分
Bundle bundle = getActivity().getIntent().getExtras();
String number = bundle.getString(key);

以上两种方法均可使用,但是一般用方法二。如果要传递实体类,需要该实体类序列化。

  1. 逆向传递
startActivityForResult(intent,requestCode);

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
            if(requestCode==REQUEST_GET_TIME&&resultCode==RESULT_OK){
                textView.setText(data.getStringExtra("cur_time"));
            }
    }

--------------------------------------------------------------------
Intent intent=new Intent();
intent.putExtra("cur_time",curTime);
setResult(RESULT_OK,intent);
 this.finish();

你可能感兴趣的:(Android,基础)