android值传递

原创 2015年07月10日 07:49:25

1.值传递就是A界面的数据传到B界面。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.intent.MainActivity" >

    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:id="@+id/ll1"
        >
    <TextView
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />
    <EditText 
        android:id="@+id/et"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />
    </LinearLayout>
    <Button 
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="intent传值"
        android:layout_below="@id/ll1"
        />

</RelativeLayout>

界面显示:
这里写图片描述

2.编写MainActivity.java
(1)从TextEdit中输入一个值
(2)程序中自带的一些数据
(3)通过点击按钮将数据传递到下一个activity
(4)Intent中有很多的putExtra重载的方法,可以放入String,int,Bundle等等
(5)Intent中有很多的getXXXExtra重载的方法,可以获取String,int,Bundle等值
(6)最后调用startActivity(intent);

package com.example.intent;

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

public class MainActivity extends Activity {
    private Button button;
    private EditText et;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = (Button) findViewById(R.id.btn);
        et = (EditText) findViewById(R.id.et);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String result = et.getText().toString().trim();
                Intent intent = new Intent();
                intent.setClass(MainActivity.this, HomeActivity.class);
                intent.putExtra("result", result);
                intent.putExtra("name", "china");
                intent.putExtra("age", 25);
                intent.putExtra("address", "上海");

                Bundle bundle = new Bundle();
                bundle.putString("code", "1111");
                intent.putExtra("bundle", bundle);

                startActivity(intent);
            }
        });
    }

}

3.创建HomeActivity.java类
(1)homeActivity接收MainActivity传递的数据
(2)首先要设置homeActivity的布局文件setContentView(R.layout.activity_home);
(3)通过findViewById找到对应的控件
(4)Intent intent =getIntent();获取意图
(5)通过intent.getXXXExtra(“key”)方法获取对应的数据; key表示MainActivity传递的key,
(6)Log.i(TAG, “–result->>”+result);将对应的数据打印到LogCat
(7)查看控制台,校验数据

package com.example.intent;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.widget.EditText;

public class HomeActivity extends Activity {
    private EditText et;
    private final String TAG = "HomeActivity";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
        et = (EditText) this.findViewById(R.id.et_home);
        Intent intent =getIntent();
        String result = intent.getStringExtra("result");
        Log.i(TAG, "--result->>"+result);
        String name = intent.getStringExtra("name");
        Log.i(TAG, "--name->>"+name);
        int age = intent.getIntExtra("age",0); 
        Log.i(TAG, "--age->>"+age);
        String address = intent.getStringExtra("address");
        Log.i(TAG, "--address->>"+address);
        Bundle bundle = intent.getBundleExtra("bundle");
        String code = bundle.getString("code");
        Log.i(TAG, "--code->>"+code);
        et.setText(result + " "+name+" "+age+" "+address+" "+code);
    }
}

如果没有显示logcat的控制台:
window—->show View—–>other 输入log
这里写图片描述

这里写图片描述

在 Filter过滤的地方输入“–”来过滤我们想要的结果

3.编写activity_home.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.intent.MainActivity" >

    <EditText
        android:id="@+id/et_home"
        android:text="啦啦啦"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <ProgressBar 
        android:id="@+id/pb"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:layout_below="@id/et_home"
        />

</RelativeLayout>

4.不要忘记在AndroidManifest.xml里面注册HomeActivity

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.intent"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="17"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".HomeActivity"></activity>
    </application>

</manifest>

homeActivity界面的显示效果:
这里写图片描述
下载地址:
http://download.csdn.net/detail/dczjzz/8885757

版权声明:本文为博主原创文章,未经博主允许不得转载。

eclipse 下的android Activity值传递

  • 2014年06月12日 19:24
  • 535KB
  • 下载

Android Activity值传递

android实现两个页面之间的值传递:1,有些功能实现需要我们在一个页面提交任务,然后在另一个页面来确认结果并把结果返回给前一个页面,比如淘宝的支付确认,这就要用到android的Activity值...

Android Intent详细介绍及使用说明(显式、隐式和值传递)

Intent 是Android程序中各个组件之间进行交互的一种重要方式,不仅可以指明当前组件想要执行的动作,还可以在不同组件中传递数据。我们一般可以用Intent启动活动(Activity)、启动服务...

XX程序媛学习笔记--Cordova(PhoneGap)Android Native混合开发值传递

本人只是菜鸡一枚,写博客只是为了做一下笔记,年纪大了。如果有说得不准确或者不好的地方请指出!!虚心请教大神指点。如果你觉得本文章太基础没什么意义,也给点掌声鼓励鼓励。 上一篇文章用cordova的pl...

Android的Activity之间的值传递

Activity 接收/传递返回值:  符号说明:A 代表请求的Activity  B 代表带有返回值的Activity(被请求的)  A 中:不同请求必须使用不同的请求码,因为每次请求的请求...

Android方法的值传递及其改变

MainActivity如下: package cn.testchangevar; import android.os.Bundle; import android.view.View; import...
  • lfdfhl
  • lfdfhl
  • 2013年07月26日 15:53
  • 1515

Android简单的登录界面的值传递

初学Android,这是一个用户登录界面,想把里面的值传递到另一个Activity中,先不说其他,上代码:         主界面(登录界面的Activity):MainActivity.java ...

论Android中的值传递

众所周知,根据mvc设计模式,数据是要通过model来传递的,从一个activity(以下简称A)到另外一个activity(以下简称B)如果要传值的话我们可以将model放到intent中(也可以不...
  • zjh171
  • zjh171
  • 2015年04月12日 10:53
  • 1078

Android的Activity组件启动,切换和值传递学习

前面已经学过了Activity的生命周期(链接地址:Activity生命周期学习),今天集中来学习一下Activity组件的启动,切换和值传递     1:首先是如何创建一个Activity:  ...

Android For JNI(三)——C的指针,指针变量,指针常见错误,值传递,引用传递,返回多个值

Android For JNI(三)——C的指针,指针变量,指针常见错误,值传递,引用传递,返回多个值 C中比较难的这一块,大概就是指针了,所以大家还是多翻阅一下资料,当然,如果只是想了解一下,看...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android值传递
举报原因:
原因补充:

(最多只允许输入30个字)