• android新窗口以及传值


    1,新建一个activity,如Activity2,在清单文件AndroidManifest.xml 中 application节点中 增加一个新窗体:

    .................

    </activity>
    <activity android:name=".ortherActivity" android:label="新窗口"/>
    </application>

    2,在主程序中:

          Intent intent = new Intent(MainActivity.this, Activity2.class);

           //打开新窗口。参数:主窗口,被调用窗口

         

          Bundle bundle = new Bundle();//通过Bundle实现数据的传递:
          bundle.putString("key1", "value1");// key1为名,value1为值
          bundle.putString("key2", "value2");
          bundle.putInt("keyInt1", 100);
          intent.putExtras(bundle); // 传数据

          如果不需要子窗口回传数据:
          startActivity(intent);

         

          如果需要子窗口回传数据:

          (1),startActivityForResult(intent, requestCode);

           此处要注意,requestCode是子窗口的id标志,而且必须大于1,否则回调函数onActivityResult不响应!  

          (2),实现回调函数onActivityResult:

     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
      .....

     }

         主窗只有一个回调函数,如果调用了几个子窗口,就需通过requestCode来区分。而resultCode则是子窗口的返回值,可以用于后续的判断。

    3,在新窗口中仍然使用Bundle取得数据:
      Bundle bundle = this.getIntent().getExtras();
      String s1 = bundle.getString("key1");
      String s2 = bundle.getString("key2");
      int i=bundle.getInt("keyInt1");

    4,如何返回到主窗口?

        Intent intent=new Intent();   
        Bundle bunle=new Bundle();   
        bunle.putString("key1", "这是子窗口的返回数据.");  
        intent.putExtras(bunle);
        //SubActivity.this.setResult(RESULT_OK, intent);
        //SubActivity.this.finish();
        setResult(RESULT_OK, intent);  //设置返回结果
        finish(); //关闭子窗口,否则数据无法返回

    5,参考

       http://blog.sina.com.cn/s/blog_63d409eb01017dnn.html

    转自:http://blog.sina.com.cn/s/blog_3ecf39a70101axmo.html

  • 相关阅读:
    浩辰CAD
    浩辰CAD直线
    浩辰CAD构造线
    浩辰CAD颜色
    浩辰CAD射线
    网站关于嵌入Youtube视频的相关文档
    快来一起玩转LiteOS组件:Curl
    如何利用MHA+ProxySQL实现读写分离和负载均衡
    政企上云网络适配复杂,看华为云Stack有妙招
    实践GoF的设计模式:单例模式
  • 原文地址:https://www.cnblogs.com/lkf18/p/4141153.html
Copyright © 2020-2023  润新知