这个例子是根据老罗的Android视频编写的。


在上篇blog中提到了使用Intent来实现Activity之间的跳转,实际上在跳转时还需要传递信息,例如我们在手机上点击某个联系人的名字就转到那个人的页面。


1.通用方式


1.首先创建另外一个Activity,新建类,在Manifest中写入。为了后面显示信息,要添加一个TextView。

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="wrap_content" >    <TextView        android:id="@+id/msg"        android:layout_width="fill_parent"        android:layout_height="wrap_content" /></LinearLayout>



2.在Main中添加一个按钮,在该按钮的点击事件处理中新建Intent,并附加消息。

button = (Button)this.findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent = new Intent(MainActivity.this,OtherActivity.class);//在意图中传递数据intent.putExtra("name", "张三");intent.putExtra("age", 23);intent.putExtra("address", "北京");//启动意图startActivity(intent);}});

3.在Other中添加显示信息的代码,将信息显示到之前创建的TextView中。

textView = (TextView) this.findViewById(R.id.msg);Intent intent = getIntent();int age = intent.getIntExtra("age", 0);String name = intent.getStringExtra("name");String address = intent.getStringExtra("address");textView.setText("age--->>" + age + "\n" + "name-->>" + name + "\n"+ "address-->>" + address);

不要忘了前面加一句:

setContentView(R.layout.other);

这时候就可以测试一下了。


2.使用静态变量


跟上面代码类似,只需在Main和Other两个Activity中做一些更改。

button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub//声明一个意图Intent intent = new Intent();intent.setClass(MainActivity.this, OtherActivity.class);OtherActivity.age = 23;OtherActivity.name = "jack";startActivity(intent);}});

public static String name;public static int age;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.other);textView = (TextView) this.findViewById(R.id.msg);textView.setText("--name->>" + name + "\n" + "--age->>" + age);}

上面的代码改动就是Intent的生成方式,以及在Other中声明了几个静态变量。



3.使用静态变量


同样只需要改动那两个部分:

button = (Button)this.findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubClipboardManager clipboardManager = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);String name = "jack";clipboardManager.setText(name);Intent intent = new Intent(MainActivity.this,OtherActivity.class);startActivity(intent);}});

textView = (TextView)this.findViewById(R.id.msg);ClipboardManager clipboardManager = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);String msgString = clipboardManager.getText().toString();textView.setText(msgString);


更多相关文章

  1. Nginx系列教程(四)| 一文带你读懂Nginx的动静分离
  2. Android之string.xml 使用总结
  3. Android(安卓)Native/Tombstone Crash Log 详细分析
  4. Android(安卓)@+id与@id的区别
  5. Android查看进程信息
  6. Android应用开发笔记(2):读取手机中的联系人信息(android.provider
  7. 采用原生控件+前端技术开发Android、iOS客户端
  8. Android性能调优篇之内存泄露
  9. android压缩图片保存为文件后显示方向被改的解决方法

随机推荐

  1. 2018-02-24 Android常用的15个框架
  2. 解决Android(安卓)webview设置cookie和co
  3. Android之提示错误Can not perform this
  4. Android(安卓)?Pixelflinger 研究
  5. Android(安卓)权限中文描述大全
  6. Android(安卓)Studio编译FFmpeg
  7. 异曲同工 7个Android应用程序源代码打包
  8. android 百度API定位以及获取天气
  9. 碰撞检测算法:点和矩形碰撞、点和圆形碰撞
  10. 深入理解SharedPrefences实现原理