安卓的正向传值:
场景由当前的MainActivity 携带值跳转到另一个NextActivity ,把数据传递给NextActivity,主要通过意图来实现:
- MainActivity中
Intent intentNext=new Intent(MainActivity.this,NextActivity.class);
String a = editextFirst.getText().toString().trim();
String b= editextSecond.getText().toString().trim();
intentNext.putExtra("message",a+"+"+b+"="+"?");
startActivityForResult(intentNext,requestCode);
//requestCode为任意值:EG:1、1000等等,这里定义1000
- NextActivity 中
final Intent intent=getIntent();
String message = intent.getStringExtra("message");
textView=(TextView)this.findViewById(R.id.textView_sum);
textView.setText(message);
这样就完成了正传
反向传值
- NextActivity 中
String result = editText.getText().toString().trim();
Intent intent = new Intent();
intent.putExtra("result", result);
/*
调用setResult方法表示我将Intent对象返回给之前的那个Activity,这样就可以在onActivityResult方法中得到Intent对象,
*/
//resultCode为任意值:EG:1、1000等等这里定义2000
setResult(resultCode, intent);
// 结束当前这个Activity对象的生命
finish();
- MainActivity中重写onActivityResult方法
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode==1000&&resultCode==2000){
String sumText = data.getStringExtra("result");
editextSum.setText(sumText);
System.out.println("-------------"+sumText);
}
}
我是学习安卓的小白,就把刚学到的记录下,最开始反传总是出错,原因就是key值写错了,这样的小问题总是让我哭笑不得,以后都要去复制