Android 开发正向传值和反向传值

作者: 码农冰冰 | 来源:发表于2017-06-16 10:22 被阅读629次

安卓的正向传值:

场景由当前的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值写错了,这样的小问题总是让我哭笑不得,以后都要去复制

相关文章

网友评论

    本文标题:Android 开发正向传值和反向传值

    本文链接:https://www.haomeiwen.com/subject/bippqxtx.html