zoukankan      html  css  js  c++  java
  • Activity之间传递参数(一)

    -------siwuxie095

       

       

       

    传递简单数据

       

    1)首先创建一个项目:SendArgs

       

       

       

    (2)选择API:21 Android 5.0

       

       

    3)选择 Empty Activity

       

       

       

    (4)默认

       

       

    5)完成,一览:

       

       

       

    6)先进 activity_main.xml 里的 Text 手动添加一个Button,

    删掉自带的TextView,如下:

    <?xml version="1.0" encoding="utf-8"?>

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:id="@+id/activity_main"

    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.siwuxie095.sendargs.MainActivity">

       

       

       

    <Button

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:id="@+id/btnStartAty"

    android:text="启动另一个Activity"/>

       

    </RelativeLayout>

       

    7new 一个 Empty Activity:TheAty

       

       

       

       

       

       

       

    (8)给activity_the_aty.xml添加一个TextView,如下:

    <?xml version="1.0" encoding="utf-8"?>

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:id="@+id/activity_the_aty"

    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.siwuxie095.sendargs.TheAty">

       

    <TextView

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:text="Hello World"

    android:id="@+id/tv"/>

       

    </RelativeLayout>

       

    9)在MainActivity.java 中添加:findViewById(R.id.btnStartAty)

    和setOnClickListener(new OnClick…),会自动生成代码,接着在onClick()

    函数里创建一个Intent,通过 Intent 的 putExtra() 传参,最后通过 startActivity()

    把Intent对象传入:

    package com.siwuxie095.sendargs;

       

    import android.content.Intent;

    import android.support.v7.app.AppCompatActivity;

    import android.os.Bundle;

    import android.view.View;

       

    public class MainActivity extends AppCompatActivity {

       

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

       

    findViewById(R.id.btnStartAty).setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View v) {

    //创建一个new Intent()实例,传入ContextClass类型的参数

    //对应MainActivity.this 被启动的Activity的类定义 TheAty.class

    Intent i = new Intent(MainActivity.this,TheAty.class);

    //通过Intent对象,调用putExtra()方法,传参

    //这里传入StringString类型的参数,实际上就是键值对

    i.putExtra("data","你好 我是传递的参数");

    //传入i

    startActivity(i);

    }

    });

    }

    }

       

       

    (10)在 TheAty.java 中获取数据,如下:

    package com.siwuxie095.sendargs;

       

    import android.content.Intent;

    import android.support.v7.app.AppCompatActivity;

    import android.os.Bundle;

    import android.widget.TextView;

       

    public class TheAty extends AppCompatActivity {

       

       

    private TextView tv;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_the_aty);

       

    //TheAty是通过MainActivity中的Intent启动,直接通过getIntent()方法

    //获取与这个Activity相关的Intent

    Intent i=getIntent();

       

    //要访问TextView,先在上面声明

    //findViewById()的返回值在编译时只能查看到类型是View,而事实上是TextView类型

    //需要强制类型转换

    tv= (TextView) findViewById(R.id.tv);

    //调用setText()方法设置字符串,这里字符串通过Intent获取

    tv.setText(i.getStringExtra("data"));

       

    }

    }

       

       

    (11)发送到手机,运行一览:

       

       

       

       

       

    【made by siwuxie095】

       

       

       

       

       

  • 相关阅读:
    ASP.NET MVC —— Model之一模型模板
    【转】METADATATYPE的使用,MVC的MODEL层数据验证
    bootstrap 全局 CSS 样式
    jQuery EasyUI API 中文文档
    基础知识--:before伪元素和:after伪元素
    960CSS框架,之前有用过 了解下框架基本原理
    CSS框架960Grid从入门到精通一步登天
    web网页的表单排版利器--960css
    文本编辑器Nano实用快捷键
    yum服务器设置
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/6234671.html
Copyright © 2011-2022 走看看