博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android新窗口以及传值
阅读量:5781 次
发布时间:2019-06-18

本文共 1403 字,大约阅读时间需要 4 分钟。

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_3ecf39a70101axmo.html

转载于:https://www.cnblogs.com/lkf18/p/4141153.html

你可能感兴趣的文章
TortoiseSVN中图标的含义
查看>>
Tasks and Back stack 详解
查看>>
关于EXPORT_SYMBOL的作用浅析
查看>>
成功的背后!(给所有IT人)
查看>>
在SpringMVC利用MockMvc进行单元测试
查看>>
Nagios监控生产环境redis群集服务战
查看>>
Angular - -ngKeydown/ngKeypress/ngKeyup 键盘事件和鼠标事件
查看>>
Android BlueDroid(一):BlueDroid概述
查看>>
Java利用httpasyncclient进行异步HTTP请求
查看>>
宿舍局域网的应用
查看>>
html代码究竟什么用途
查看>>
Hadoop HDFS编程 API入门系列之路径过滤上传多个文件到HDFS(二)
查看>>
Python version 2.7 required, which was not foun...
查看>>
context:annotation-config vs component-scan
查看>>
exgcd、二元一次不定方程学习笔记
查看>>
经典sql
查看>>
CSS3边框会动的信封
查看>>
JavaWeb实例设计思路(订单管理系统)
查看>>
source insight中的快捷键总结
查看>>
PC-IIS因为端口问题报错的解决方法
查看>>