如何在Activity中启动另一个Activity与值传递

1.      如何在Activity中启动另一个Activity?

(1)在Android Mainifest 文件中声明Activity

格式如下:

(2)调用startActivity(Intent intent)方法

Intent intent=newIntent(MainActivity.this,NextActivity.class);

startActivity(Intent intent);

 

2把数据从一个Activity传到另一个Activity

(1)    直接采用Intent封装

a.发送部分

  Intentintent=newIntent(MainActivity.this,NextActivity.class);

        Stringa=edittext1.getText().toString().trim();

        Stringb=edittext2.getText().toString().trim();

intent.putExtra("message",a+"+"+b+"=");

startActivity(intent);

b.接收部分

Intent intent = getIntent();

      String message = intent.getStringExtra("message");

shizi.setText(message);

完整代码如下

MainActivity

packagecom.example.firstactivity;

 

importandroid.os.Bundle;

importandroid.app.Activity;

importandroid.content.Intent;

 

importandroid.view.View;

importandroid.widget.Button;

importandroid.widget.EditText;

 

publicclass MainActivity extends Activity {

   private Button button1;

   private EditText edittext1,edittext2,edittext3;

   @Override

   protected void onCreate(BundlesavedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.activity_main);

      edittext1=(EditText)findViewById(R.id.editText1);

      edittext2=(EditText)findViewById(R.id.editText2);

      edittext3=(EditText)findViewById(R.id.edittext3);

      button1=(Button)findViewById(R.id.button1);

      button1.setOnClickListener(new View.OnClickListener()

       {

 

                     @Override

                     public void onClick(View v){

                               // TODOAuto-generated method stub

                               Intent intent=newIntent(MainActivity.this,NextActivity.class);

                               Stringa=edittext1.getText().toString().trim();

                               Stringb=edittext2.getText().toString().trim();

                               intent.putExtra("message",a+"+"+b+"=");

                               startActivityForResult(intent,1000);

                     }

               

       });

   }

   @Override

   protected void onActivityResult(intrequestCode, int resultCode, Intent data) {

            // TODO Auto-generated method stub

            super.onActivityResult(requestCode,resultCode, data);

            if (requestCode == 1000 &&resultCode == 1001) {

                     //从子窗口中获取返回结果

                     String result_value =data.getStringExtra("result");

                     edittext3.setText(result_value);

            }

   }

}

NextActivity:

packagecom.example.firstactivity;

importandroid.app.Activity;

importandroid.content.Intent;

importandroid.os.Bundle;

importandroid.view.View;

importandroid.widget.Button;

importandroid.widget.EditText;

importandroid.widget.TextView;

 

publicclass NextActivity extends Activity {

    private TextView shizi;

    private Button button2;

    private EditText result ;

   public NextActivity() {

            // TODO Auto-generated constructorstub

   }

  

   @Override

   protected void onCreate(BundlesavedInstanceState) {

            // TODO Auto-generated method stub

            super.onCreate(savedInstanceState);

            setContentView(R.layout.next);

            button2 =(Button)this.findViewById(R.id.button2);

            result =(EditText)this.findViewById(R.id.result);

            shizi =(TextView)this.findViewById(R.id.shizi);

            Intent intent = getIntent();

            String message =intent.getStringExtra("message");

            shizi.setText(message);

            button2.setOnClickListener(newView.OnClickListener() {

                     @Override

                     public void onClick(View v){

                               // TODOAuto-generated method stub

                               String value =result.getText().toString().trim();

                               Intent intent =new Intent();

                               intent.putExtra("result",value);

                               //设置回传的意图

                               setResult(1001,intent);

                               finish();//结束activity的生命周期

                     }

            });

           

   }

 

}

(2)采用Bundle封装

a.发送部分

Bundle bundle=new Bundle();

Bundle.putString(“name”,name);

Intent.putExtras(bundle);

startActivity(intent);

b.接收部分

Bundle bundle=this.getIntent().getExtras();

String name=bundle.getString(“name”);

(EditText)et.setText(name);

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值