android Activity之间的跳转 android传值与回传值

Activity跳转与传值,主要是通过Intent类来连接多个Activity,以及传递数据。
Intent是Android一个很重要的类。Intent直译是“意图”,什么是意图呢?比如你想从这个Activity跳转到另外一个Activity,这就是一个意图。
Activity跳转,无返回结果
   这是最简单的Activity跳转方式。从一个Activity启动另一个Activity,直接 startActivity(new Intent(当前Activity.this, 下一Activity.class))。
《Activity之间的跳转》
//创建可视化界面
   public class MyActivity extends Activity {
     private Button mbutton    //为跳转的按钮定一个变量
    private String str="带参跳转至另一个Activity";
      @Override       //重写父类Activty的方法
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       //用接收找到这个button的id
        Button  mbutton=(Button)findViewById(R.id.onebutton);
       //监听这个按钮使用 setOnClickListener     //匿名内部类监听
          mbutton.setOnClickListener(new View.OnClickListener() {
          @Override
         public void onClick(View v){
              startActivity(new Intent (MyActivity.this, Text_view.class ))
          }
    }


《传值》


  //从一个Activity带参传入另一个Activity
    mbutton.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View v) {
            //inten接收但前的界面和跳转去的界面
           Intent intent=new Intent(MyActivity.this,Text_view.class);  
                   //Bundle方法
                   Bundle bundle=new Bundle();
                   //字符串导入bundle
                   bundle.putString("key",str);

             //图片导入
                    Bitmap bitmap= BitmapFactory.decodeResource(getResources(),R.drawable.welcome_logo);
                   图片的bitmap放入intent
                   intent.putExtra("key1",bitmap);

                   //bundle放入intent
                     intent.putExtras(bundle);
                   //启动
                   startActivity(intent);
//另一个Activity
      //用bundle接受呢个intent的值
         Bundle bundle=intent.getExtras()
      //创建一个String的字符串接收这个bundle接收到的字符串
         String s=bundle.getString("key");
      //用textView接受找到的这个Activity的呢个TextView的id
         TextView textView=(TextView)findViewById(R.id.onetext);
      //这个TextView更改为接受到S这个字符串的值
         textView.setText(s);
      //创建一个imageView找到这个Activity的ImageView的id
         ImageView imageView=(ImageView)findViewById(R.id.oneimageview);
      //用bitmap接收图片
          Bitmap bitmap=(Bitmap)intent.getParcelableExtra("key1");
      //将图片更改为接受到这个
           imageView.setImageBitmap(bitmap);


《回传值》

进入一个Activity将进入的这个Activity的值带回去
//Activity回传值
//创建可视化界面
   public class MyActivity extends Activity {
     private Button mbutton    //为跳转的按钮定一个变量
      @Override       //重写父类Activty的方法
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       //用接收找到这个button的id
        Button  mbutton=(Button)findViewById(R.id.onebutton);
       //监听这个按钮使用 setOnClickListener     //匿名内部类监听
          mbutton.setOnClickListener(new View.OnClickListener() {
           @Override
            public void onClick(View v) {
              Intent intent=new Intent(MyActivity.this,Text_view.class);
              //直接跳转
                   startActivityForResult(intent, 1);
             }
          @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         //调用父类的方法
        super.onActivityResult(requestCode, resultCode, data);
         //为intent赋值为data
        Intent intent=data;
         //用字符串str接收
        String str=intent.getStringExtra("hui");
         //更改这个文本框的值为接受到的呢个字符串str
        textView.setText(str);
         }
    }
//另一个Activity
    public class Text_view extends Activity{
    private Button button;
    String str="asdasdsa";
    Intent intent;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.paomaxiaoguo);
         //接受呢个intent
        intent=getIntent();
         //用button接收找到这个返回传值的按钮
        button=(Button)findViewById(R.id.hui);
         //监听这个button
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                  //给这个按钮写入这个字符串
                intent.putExtra("hui",str);
                   //返回这个intent。回调值
                setResult(1,intent);
                   //删除这边的
                finish();
            }
        });


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值