Android 两个Activity之间传值

本文详细介绍如何在Android应用中实现不同Activity之间的数据传递,包括创建项目、布局文件配置、按钮事件处理及数据接收等步骤。
首先新建Android项目,如图所示:
[img]http://dl.iteye.com/upload/attachment/499057/9e1bddd3-150e-375e-a4ff-b6174634252e.jpg[/img]
这里我们选择Android1.6。
1.首先打开项目工程下res/layout/main.xml文件,添加Button按钮,

<Button
android:id="@+id/btn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/btnValue"
/>

2.为给btn按钮赋值,需要打开res/values/strings.xml文件,添加节点:

<string name="btnValue">下一屏幕</string>

3.在org/ch01下建立类ActivityTwo.java
4.打开ActivityOne.java代码,代码如下:

package org.ch01;

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;

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

btn = (Button)findViewById(R.id.btn);
//为btn按钮注册事件
btn.setOnClickListener(new BtnClick());
}

//事件
class BtnClick implements OnClickListener
{
@Override
public void onClick(View v)
{
Intent intenet = new Intent();
intenet.putExtra("value", "传递的值");
intenet.setClass(ActivityOne.this,ActivityTwo.class);
ActivityOne.this.startActivity(intenet);
}
}
}


5.在res/layout/目录下建立activitytwo.xml文件,代码结构如下:

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


6.打开ActivityTwo.java文件,代码如下:

package org.ch01;

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

public class ActivityTwo extends Activity
{
private TextView txt;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activitytwo);
txt = (TextView)findViewById(R.id.txt);

//获取intent实例
Intent intent = getIntent();
//获取传递过来的值
String value = intent.getStringExtra("value");
txt.setText(value);
}
}


7.打开在reg/ AndroidManifest.xml文件,添加Activity节点如下:

<activity android:name=".ActivityTwo"
android:label="@string/app_name">
</activity>



8.运行Android程序,效果如下:
[img]http://dl.iteye.com/upload/attachment/499014/37d1e191-847e-30d8-9dfa-e3d24de96b21.jpg[/img]
点击按钮后,效果如下:
[img]http://dl.iteye.com/upload/attachment/499016/7f438a1b-6aee-35e3-aec7-ea58a1b3906a.jpg[/img]

源码下载:
[url]http://dl.iteye.com/topics/download/0ba83e9e-6dfa-34f6-a693-53992c6c685b[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值