【十】Android Activity二

activity的传值方式

一、初步涉及

  1. 简单传值方式

发送

Intent intent = new Intent(MainActivity.this,Two_ac.class);
                 intent.putExtra("name", "盖伦");
                 intent.putExtra("pass", "4444");
                 startActivity(intent);

接收

             String name = intent.getStringExtra("name");
             int pass = intent.getIntExtra("pass", 0);
             tv_two.setText(name +"——"+ pass);

这里还有一种其他写法

发送

Intent intent = new Intent(MainActivity.this, Two_ac.class);
                 Bundle bundle = new Bundle();
                 bundle.putString("name", "提莫");
                 bundle.putInt("age", 22);
                 intent.putExtras(bundle);
                 startActivity(intent);

接收

             String name = intent.getStringExtra("name");
             int pass = intent.getIntExtra("age", 0);
             tv_two.setText(name +"——"+ age);

Intent在不同的组件中传递对象数据的方法。
2. 继承Serializable
3. 继承Parcelable

时间关系这里就不贴代码了,直接下载源码看吧。
关系两者的关系可以查看我的博客
Android Parcelable和Serializable的区别(一)、(二)、(三)
Url:http://blog.csdn.net/zhan1350441670/article/details/47274927

二、实例内容

下面就来看看这个具体的实例吧。
首先来看下这个APP的图片这里写图片描述

这里写图片描述

这里的话我们可以看到,一些在首页显示的文字和图片当你跳转到具体内容的页面时,首页的文字和图片传到了具体内容页面上。

主页:

package com.example.activity_two;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

public class MainActivity extends Activity {
    private Button button;
    private TextView tv;
    private ImageView imageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = (Button) findViewById(R.id.bt_b);
        tv = (TextView) findViewById(R.id.tv);
        tv.setText("中国面临大汉以来的最大机遇");
        imageView = (ImageView) findViewById(R.id.imageView);
        imageView.setImageResource(R.drawable.title);
        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, Two_ac.class);
                Bitmap b = BitmapFactory.decodeResource(getResources(),
                        R.drawable.title);
                Bundle bundle = new Bundle();
                bundle.putString("title", "中国面临大汉以来的最大机遇");
                bundle.putParcelable("b", b);
                intent.putExtras(bundle);
                startActivity(intent);
            }
        });
    }
}

内容页面:

package com.example.activity_two;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;

public class Two_ac extends Activity {
    private TextView tv_two;
    private ImageView imageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_two_ac);
        imageView=(ImageView) findViewById(R.id.imageView);
        tv_two = (TextView) findViewById(R.id.tv_two);
        Intent intent = getIntent();
        if (intent != null) {
            String name = intent.getStringExtra("title");
            Bitmap bitmap=intent.getParcelableExtra("b");
            tv_two.setText(name);
            imageView.setImageBitmap(bitmap);
        }

    }
}

效果图片
这里写图片描述

————————-跳转————————-

这里写图片描述

源码地址为:http://download.csdn.net/detail/zhan1350441670/8958925

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值