当前位置:操作系统 > 安卓/Android >>

我的Android笔记(三)——使用Intent在Activity间传值

在Android中, 一个Activity可以理解为一个屏幕。  当程序要从一个Activity切换到另外一个Activity时,就需要用到Intent。

Intent专门负责Android程序之间、以及程序内Activity与Service之间交互、通信。

 


以下是一个简单的demo,使用Intent从一个Activity切换到另一个Activity,并且传递一个数据进行显示。

 


先看一下效果图——

    第一个Activity:

 
输入一个姓名“Barry”:

点击“确定”,跳转到另一个Activity,并显示“你好,Barry!”:

 
代码如下:
  
 

Demo_intentActivity.java

 

[java]
package barry.android.intent; 
 
import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
 
public class Demo_intentActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
 
        Button btn = (Button) findViewById(R.id.button1); 
        btn.setOnClickListener(new OnClickListener() { 
            @Override 
            public void onClick(View v) { 
                String yourName = ((EditText) findViewById(R.id.name_text)) 
                        .getText().toString(); 
                Intent intent = new Intent(); 
                intent.setClass(Demo_intentActivity.this, RecordActivity.class); 
                intent.putExtra("name", yourName);// 在Intent中设置要传递的数据  
                startActivity(intent);// 启动新的Activity  
                Demo_intentActivity.this.finish();// 结束就的Activity  
            } 
        }); 
    } 

package barry.android.intent;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class Demo_intentActivity extends Activity {
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  Button btn = (Button) findViewById(R.id.button1);
  btn.setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View v) {
    String yourName = ((EditText) findViewById(R.id.name_text))
      .getText().toString();
    Intent intent = new Intent();
    intent.setClass(Demo_intentActivity.this, RecordActivity.class);
    intent.putExtra("name", yourName);// 在Intent中设置要传递的数据
    startActivity(intent);// 启动新的Activity
    Demo_intentActivity.this.finish();// 结束就的Activity
   }
  });
 }
}以及它的布局文件main.xml


[html]
<?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="fill_parent" 
    android:orientation="vertical" > 
 
    <EditText  
        android:id="@+id/name_text" 
        android:hint="输入你的名字" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        />     
     
    <Button android:text="确定" 
        android:id="@+id/button1" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"/>     
     
</LinearLayout> 
<?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="fill_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/name_text"
        android:hint="输入你的名字"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />   
   
    <Button android:text="确定"
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>   
   
</LinearLayout>

 


另一个Activity  RecordActivity.java

[java]
package barry.android.intent; 
 
import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.widget.TextView; 
 
public c

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,