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

时间: 2024-11-05 19:38:41

android新窗口以及传值的相关文章

android安卓开发基础小笔记,添加按钮事件,打开新窗体,窗体传值,回传

给一个按钮添加onclick事件 //获取按钮对象 Button Aiyo = (Button)findViewById(R.id.button1); Aiyo.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) {//tv.setText("woceshi"); //弹出提示 Toast.makeText(getApplicationContext(), '你好', Toas

安卓 如何载入一个新窗口如何关闭窗口和向另一个窗口传值

我这里是有两个窗口   第二个窗口会把第一个窗口传过来的值显示在标签上    第二个窗口的按钮是销毁本窗口   第一个窗口按钮是载入第二个窗口并且传值到第二个窗口  (有几个按钮ID 和textview ID 我就不提了 应该看得懂) 这里主要用到了Intent 发现这个对象用到的很多 这是第一个窗口的java代码MainActivity package com.example.vmpdump.windw; import android.content.Intent; import androi

android 打开新窗口

ImageView loginBtn = (ImageView)findViewById(R.id.login_button); loginBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //这里就可以判断账号密码是否正确了,这里让大家自己试验动手一下谢谢如果账号密码是admin 123456

【JavaScript】单击网页任意一处打开新窗口与关闭窗口

在一些不正规的网站,尤其是那些挂满广告的下载站,经常在你点击的下载链接之前,无论你点击网页的任何一处都会弹出新窗口. 这样的效果,可以轻松用JavaScript做到,还可以专门指定点击某一区域的Div,才触发打开新窗口的事件. 比如下图的效果: 在原网页中,指定一个Div,无论用户点击这个Div的任意区域,都会打开新窗口,而点击其它地方则不会. 在新窗口的地址栏不可以编辑,不能被调整大小,提供一个"关闭"按钮,关闭该窗口. 原网页的HTML布局如下, <!DOCTYPE HTML

jquery新窗口打开链接

第一种:下面的代码是针对m35ui这个样式下的a都是在新窗口打开  <script type="text/javascript"> jQuery(document).ready(function($) { $('.m35ui a').attr({target: "_blank"}); }); </script> 第二种:  <script src="http://code.jquery.com/jquery-latest.js

WinForm登陆成功关闭窗口打开新窗口

正常写法 DialogResult result = MessageBox.Show("OK", "连接成功!", MessageBoxButtons.OK); if (result == DialogResult.OK) { Home home=new Home(); home.Show(); this.Close(); } 事实证明,这种办法是行不通的.因为主窗口是由登录窗口打开的,所以我们在关闭登录窗口时,主窗口也会被一起关闭.这是一个线程树,或者窗口树的关系

JavaScript-打开新窗口

open()方法可以查找一个已经存在或者新建一个新的浏览器窗口. 语法:window.open([URL], [窗口名称], [参数字符串]) 参数解释: URL:可选参数,在窗口中显示网页的网址或路径.如果省略这个参数,或者它的值是空字符串,那么窗口就不显示任何文档. 窗口名称:可选参数,被打开窗口的名称. 1.该名称由字母.数字和下划线组成. 2."_top"."_blank"."_self"具有特殊意义的名称. _blank:在新窗口显示目

制作新按钮,“新窗口打开网站” ,点击打开新窗口。

<!DOCTYPE html><html> <head> <title> new document </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <script type="text/javascript"> // 新窗口打开时弹出确认框,是否打开 //

使用javascript如何打开新窗口

javascript打开新窗口方法 window.open('http://www.onesheng.cn'); [1.最基本的弹出窗口代码]  其实代码非常简单: <SCRIPT LANGUAGE="javascript"> <!-- window.open ('smsyun.html') --> </SCRIPT> 因为着是一段javascripts代码,所以它们应该放在<SCRIPT LANGUAGE="javascript&q