关于intent传递数据的练习

1、主Activity里有两个Button,点击每个Button都调用第二个NewActivity。

2、从NewActivity里返回后,判断是从两个Button中的哪一个启动的NewActivity,并显示在TextView或者Toast上。

MainActivity

package com.example.intenttest;

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

public class MainActivity extends Activity
{

    private Button btn1, btn2;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);

        btn1 = (Button) findViewById(R.id.bnt1);
        btn2 = (Button) findViewById(R.id.bnt2);

        btn1.setOnClickListener(new OnClickListener()
        {

            @Override
            public void onClick(View arg0)
            {
                // TODO Auto-generated method stub
                startActivityForResult(new Intent(MainActivity.this, NewActivity.class), 1);
            }
        });

        btn2.setOnClickListener(new OnClickListener()
        {

            @Override
            public void onClick(View arg0)
            {
                // TODO Auto-generated method stub
                startActivityForResult(new Intent(MainActivity.this, NewActivity.class), 2);
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        // TODO Auto-generated method stub
        switch (requestCode)
        {
            case 1 :
                Toast.makeText(MainActivity.this, "第一个Button", Toast.LENGTH_SHORT).show();
                break;
            case 2 :
                Toast.makeText(MainActivity.this, "第二个Button", Toast.LENGTH_SHORT).show();
                break;
            default :
                break;
        }
    }

}

NewActivity

package com.example.intenttest;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Window;

public class NewActivity extends Activity
{

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.new_activity);
        setResult(RESULT_OK, new Intent().putExtra("result", "返回的数据"));
    }

}
时间: 2024-11-12 20:53:25

关于intent传递数据的练习的相关文章

Android学习之Intent传递数据

Intent在Activity中的作用主要是有两个: 1.启动目标Activity 2.传递数据 Intent在传递数据时分两种情况:向下一个Activity传递数据和从下一个Activity返回数据. 一.向下一个Activity传递数据主要是利用Intent作为“信使”来调用, 原Activity需要创建一个intent,并用putExtra(键,值)方法向intent中放入需要传递的信息,然后启动. public void onClick(View view){ String msg =

Android 开发中使用Intent传递数据的方法

Activity之间通过Intent传递值,支持基本数据类型和String对象及它们的数组对象byte.byte[].char.char[].boolean.boolean[].short.short[].int.int[].long.long[].float.float[].double.double[].String.String[],还有采用实现Serializable.Parcelable接口的类对象传递数据的两种方法:一种是Bundle.putSerializable(Key,Obje

intent传递数据的二种方式startActivityForResult为什么不行?

============问题描述============ package com.example.intentsenddatademo; import java.util.List; import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBar; import android.support.v4.app.Fragment; import android.content.Inten

intent传递数据和返回数据给上一个活动

startActivityForResult与startActivity的不同之处在于: 1.startActivity( ) 仅仅是跳转到目标页面,若是想跳回当前页面,则必须再使用一次startActivity( ). 2.startActivityForResult( ) 可以一次性完成这项任务,当程序执行到这段代码的时候,假若从T1Activity跳转到下一个Text2Activity,而当这个Text2Activity调用了finish()方法以后,程序会自动跳转回T1Activity,

Android---8---Intent及使用Intent传递数据

Intent 是 Android 程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组 件想要执行的动作,还可以在不同组件之间传递数据.Intent 一般可被用于启动活动.启动 服务.以及发送广播等场景 Intent是一种运行时绑定机制,它能在程序运行的过程中连接两个不同的组件.通过intent 程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来请求. 在这些组件之间的通讯中,主要是由Intent协助完成的.Intent负责对应用中一次操作的动作

Android 消息广播Intent传递数据

1.创建布局文件activity_broadcast.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

Intent传递数据

方式比较多,先看看代码,一会儿再总结. activity_main.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=&quo

Intent传递数据的方式

方式一:使用putExtra,在MainActivity中传输数据,在SecondActivity中输出数据: package com.dystu.intentdemo; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; public class MainActivity extends Activity { @Overri

Android百日程序:Intent传递数据

上一遍是回传数据,当热Activity之间是可以利用Intent很方便地传递很多数据的. 本章就两个Activity之间传递String和Int数据. 1 主要界面: 2 点击按钮之后,就进入第二个activity 这个时候会利用Toast机制显示第一个activity传递什么String和Int给第二个activity. 3 然后点击"return to main activity",回到第一个activity 同样会显示回传的信息 这样可以在activity之间来回传递需要的信息.

Intent传递数据的方法

一.传递List 1.传递List<String>的方法 ArrayList<String> info = new ArrayList<String>(); info.add(weibo); Intent intent = new Intent(MainActivity.this, ResultActivity.class); intent.putStringArrayListExtra("infoList", info); startActivit