activity的传值方式
一、初步涉及
- 简单传值方式
发送
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.youkuaiyun.com/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.youkuaiyun.com/detail/zhan1350441670/8958925