`

Android 从Activity返回数据

 
阅读更多
Main.java
public class Main extends Activity {

    private Button button;
    private EditText input1, input2, result;
    private final static int REQUEST_CODE=1;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        input1 = (EditText)this.findViewById(R.id.input1);
        input2 = (EditText)this.findViewById(R.id.input2);


        button = (Button)this.findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view) {
                String input1str = input1.getText().toString();
                String input2str = input2.getText().toString();
                int a = Integer.parseInt(input1str);
                int b = Integer.parseInt(input2str);

                Intent intent = new Intent(Main.this, OtherActivity.class);
                intent.putExtra("a",a);
                intent.putExtra("b",b);
                startActivityForResult(intent, REQUEST_CODE);
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(resultCode==OtherActivity.RESULT_CODE){
            if(requestCode==REQUEST_CODE){
                int return_int = data.getIntExtra("result",0);
                result = (EditText)this.findViewById(R.id.result);
                result.setText(return_int);
            }
        }
    }
}


OtherActivity.java
public class OtherActivity extends Activity{

    private TextView label;
    private EditText input;
    private Button button;
    public final static int RESULT_CODE=2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.other);

        label = (TextView)this.findViewById(R.id.label);
        input = (EditText)this.findViewById(R.id.input);
        button =(Button)this.findViewById(R.id.button);

        Intent intent = getIntent();
        int a = intent.getIntExtra("a", 0);
        int b = intent.getIntExtra("b", 0);
        label = (TextView)this.findViewById(R.id.label);
        label.setText(a +  " + " + b + " = ?");

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int input_int =  Integer.parseInt(input.getText().toString());

                Intent intent = new Intent();
                intent.putExtra("result", input_int);
                //通过Intent对象返回结果,使setResult
                setResult(RESULT_CODE,intent);
                //结束当前的Activity生命周期
                finish();
            }
        });

    }
}

分享到:
评论

相关推荐

    Android 从Activity中返回数据

    在实际的应用中,我们不仅仅要向Activity传递数据,而且要从Activity中返回数据,虽然返回数据和传递数据类似,也可以采用前面4种方法,但是一般建议采用Intent对象的方式来返回数据,使用这种方式返回数据,需要...

    android Activity之间数据的回传

    android 中在Activity之间使用startActivityForResult 从一个activity01跳转到activity02,当从activity02返回activity01时回传数据

    实现androidActivity的跳转,数据返回,传数据

    实现androidActivity的跳转,数据返回,传数据

    android Activity之间的数据传递

    以不同方式实现了Activity之间的数据传递,并且当激活的activity在销毁时,主Activity可以得到返回的结果,适合初学者。

    android两个activity相互传值

    能将第一个activity的值传到第二个activity,第二个activity的值能返回到第一个activity,适合初学者那来学习

    activity间数据的传递列表显示

    首先是Intent自定义数据的传送,之后银行账号的输入格式的控制,之后界面销毁时数据的返回,将跟新了的数据返回给上一层的activity

    Android Activity间传值

    两个Activity间的传值和返回activity时回显数据

    Android编程实现在Activity中操作刷新另外一个Activity数据列表的方法

    主要介绍了Android编程实现在Activity中操作刷新另外一个Activity数据列表的方法,结合具体实例形式分析了2种常用的Activity交互实现技巧,需要的朋友可以参考下

    Android中两个Activity之间数据传递及返回问题

    本篇文章主要介绍了Android中两个Activity之间数据传递及返回问题,这里整理了详细的代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

    指尖疯Android4.4视频第13集:Activity

    从本集开始,我们将挥挥手告别之前的UI控件学习,进入一个全新的旅程。这段旅程是android开发学习之旅的核心。本集疯兄给大家带来的... Activity的数据返回 四个方面为大家带来activity全方位的介绍,敬请收看,谢谢!

    Android带有返回值的finish(StartActivityForResult)

    很多时间我们需要的不仅只是startActivity或是finish,而是在finish的时候,把在第二个界面的值回传给第一个界面。这个程序就是用来解决这样的问题的。

    Android实现从服务器端数据库读数据JSON解析

    从数据库中访问数据库以JSON格式返回数据,在Android手机端将返回的数据 以JSON的格式解析出来。 本文件中的mysql.sql是我测试是的数据库,在测试的时候先将这个文件 导入到本机的mysql数据库中的(至于怎样导入...

    【android编程】第七讲-android Activity

    Activity 返回数据8. 题目记录关于生命周期详见前面 2.Activity生命周期 1. 学习指导 本讲主要介绍了Android四大组件之首的Activity。 主要知识点: Activity的概念: Activity就是一个有界面的AndroidApp。 ...

    Android代码-利用AMS Hook和APT去构建的一个Activity路由框架

    EasyRouter实现了Activity之间跳转,返回时的数据自动注入,完全屏蔽了原生的一套繁琐API EasyRouter实现了通过字符串进程Browser的路由跳转 EasyRouter支持更换路由跳转时数据序列化的解析器,默认为Gson,可以通过...

    Android Activity的跳转与传值详解

    Activity跳转与传值,主要是通过Intent类来连接多个Activity,以及传递数据。  Intent是Android一个很重要的类。Intent直译是“意图”,什么是意图呢?比如你想从这个Activity跳转到另外一个Activity,这就是一个...

    Android项目设计与开发:SharedPreferences.ppt

    嵌入式Android项目设计与开发 第六章 数据存储 ——SharedPreferences 2 SharedPreferences 键值对概念: 某一个数据都由一个键和一个值构成,键代表数据的名称,它是全局唯一的。具体的数据内容存放在值中。 键值对...

    详解Android 进程间通信的几种实现方式

    Content Provider可以跨进程访问其他应用程序中的数据(以Cursor对象形式返回),当然,也可以对其他应用程序的数据进行增、删、改操 作;Broadcast可以向android系统中所有应用程序发送广播,而需要跨进程通讯的...

    Android intent 传递对象以及返回刷新

    Android intent 传递对象以及返回刷新。这个demo简单实现了activity之间传递对象以及对象列表。activity返回时,带数据返回,以及刷新activity。欢迎下载源码。

    Android中界面间的跳转(两种方式)

    Android中界面间两种跳转方式startActivity(intent); startActivityForResult(intent, 0);

Global site tag (gtag.js) - Google Analytics