zoukankan      html  css  js  c++  java
  • Activity之间的信息传递方式

    在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,或许还同时返回一些子模块完成的数据交给主Activity处理。这样的数据交流就要用到回调函数onActivityResult。

    直接进入实例

    Intent newIntent = new Intent(MainActivity.this,LogInActivity.class);
    // 传递参数
    newIntent.putExtra("这是传递给子Activity中的信息", "MainActivity"); 
    // 开始一个新的 Activity等候返回结果
    startActivityForResult(newIntent,999);

    在主Activity中,应该重写onActivityResult方法,该方法是用来接收子Activity中的返回值,及处理结果

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
        super.onActivityResult(requestCode, resultCode, intent);
        switch (requestCode) {
           //这个requestCode返回码,是子Activity中定义的不同处理结果的标识,比如,这里用switch 处理不同结果 
            case 999:
                //取得来自SecondActivity页面的数据,并显示到画面 
                  Bundle bundle = intent.getExtras();
                 //获取Bundle中的数据,注意类型和key 
                 String username = bundle.getString("username");
         Toast.makeText(this, "成功返回了", Toast.LENGTH_LONG).show();
    }

    假设子Activity中有一个定义submit的方法,用来监听按钮触发返回的事件,其中其中的setResult()方法相当于启动了Activity,不要忘记finish(),否则这个界面切不会去

    public void submit(View v) {
            int sw = v.getId();
            switch (sw) {
            case R.id.login:
                String username = usernametext.getText().toString();
                  Bundle bd = new Bundle();
                  bd.putString("username", username); 
                  Intent it = new Intent();//注意,这里是空的,有Activity的话,会覆盖前面主Activity的回调监听
                  it.putExtras(bd);
                  this.setResult(999, it);;
                  finish();
                break;
            default:
                Toast.makeText(this, R.string.errordo, Toast.LENGTH_LONG).show();
                break;
            }
     
        }

    以上是同一个程序内Activity中通信方式,如果不是在同一个程序的话,用uri来做,有需要的话,我再完善

  • 相关阅读:
    Textbox 自动调节高度
    Sharepoint 2010 备份与恢复 (二)
    Sharepoint 2010 备份与恢复 (一)
    Sharepoint 查看站点集是否锁住状态
    Sharepoint安装Infopath Service
    php分页显示类——在线拍卖行(1)
    php一个比较基础的文件上传的代码
    html表单的type属性
    JQuery简单表单验证
    最近的一些思考,感悟和理解。
  • 原文地址:https://www.cnblogs.com/haoxiqiang/p/2889463.html
Copyright © 2011-2022 走看看