package com.example.test1;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

////////////////////
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.content.Intent;
////////////////////

public class MainActivity extends ActionBarActivity {
 
    ////////////////////
 private EditText myText;
 private EditText text_return1;
 private EditText text_return2;

private Button myButton01;
 private Button myButton02;
 private Button myButton06;
 private Button myButton08;
 private Button myButton082;
 private Button myButton09;
    ////////////////////

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
           
        //////////0/////////
        myText = (EditText)findViewById(R.id.editText1);
        text_return1 =  (EditText)findViewById(R.id.editText01);
        text_return2 =  (EditText)findViewById(R.id.editText02);
       
        myButton01 = (Button)findViewById(R.id.Button01);
        myButton02 = (Button)findViewById(R.id.Button02);
        myButton06 = (Button)findViewById(R.id.Button06);
        myButton08 = (Button)findViewById(R.id.Button08);
        myButton082 = (Button)findViewById(R.id.Button082);
        myButton09 = (Button)findViewById(R.id.Button09);
        ////////////////////
       
        //////////1/////////
        myButton01.setOnClickListener(new View.OnClickListener() {

@Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                myText.setText("弄明白监听!");
            }
        });

////////////////////
       
       
        /////////2//////////
        myButton02.setOnClickListener(new View.OnClickListener() {

@Override
            public void onClick(View v) {
                ////打开一个伪窗口------- 测试通过
             Toast.makeText(getApplicationContext(), "提示:点击窗口外部关闭窗口!",
             Toast.LENGTH_SHORT).show();
            }
        });
        ////////////////////
       
       
       /////////6//////////
        myButton06.setOnClickListener(new View.OnClickListener() {

@Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                ////显示文本------- 测试通过
                //myText.setText("弄明白监听2!");
             
             ////打开一个伪窗口------- 测试通过
             //Toast.makeText(getApplicationContext(), "提示:点击窗口外部关闭窗口!",
             //Toast.LENGTH_SHORT).show();

////intent负责程序跳转和传递数据
             //只打开新窗体,不回传数据
             Intent intent = new Intent(MainActivity.this, F1_TC.class);
             startActivity(intent);
             
            }
        });
        ////////////////////
      
       
        /////////8//////////
        myButton08.setOnClickListener(new View.OnClickListener() {

@Override
            public void onClick(View v) {

////intent负责程序跳转和传递数据
             //打开新窗体,回传数据
                Intent intent = new Intent(MainActivity.this,Popu_TC.class);
               
                Bundle bundle = new Bundle(); //通过Bundle实现数据的传递:
                bundle.putString("key0", "value1"); // key0为名,value1为值
                bundle.putString("key1", myText.getText().toString());
                bundle.putString("key2", myText.getText().toString());
                bundle.putString("key3", myText.getText().toString());
                bundle.putInt("keyInt1", 100);  //整数类型
                intent.putExtras(bundle); // 传数据

//startActivity(intent);   // ------- 测试通过    //不需要子窗口回传数据
                //startActivityForResult(intent, requestCode); //requestCode是子窗口的id标志,而且必须大于1,否则回调函数onActivityResult不响应!

startActivityForResult(intent, 1);         //如果需要子窗口回传数据:

}
        });
        ////////////////////
       
        /////////82//////////
        myButton082.setOnClickListener(new View.OnClickListener() {

@Override
            public void onClick(View v) {

////intent负责程序跳转和传递数据
             //打开新窗体,回传数据
                Intent intent = new Intent(MainActivity.this,F2_TC.class);
               
                Bundle bundle = new Bundle(); //通过Bundle实现数据的传递:
                bundle.putString("key0", "value1"); // key0为名,value1为值
                bundle.putString("key1", myText.getText().toString());
                bundle.putString("key2", myText.getText().toString());
                bundle.putString("key3", myText.getText().toString());
                bundle.putInt("keyInt1", 100);  //整数类型
                intent.putExtras(bundle); // 传数据

//startActivity(intent);   // ------- 测试通过    //不需要子窗口回传数据
                //startActivityForResult(intent, requestCode); //requestCode是子窗口的id标志,而且必须大于1,否则回调函数onActivityResult不响应!

startActivityForResult(intent, 2);         //如果需要子窗口回传数据:

}
        });
        ////////////////////
       
       
    }

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
     
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
   
      
   
    ////////////////////
    //实现回调函数onActivityResult
    //public void enterSecond(View view) {
     //Intent intent=new Intent(this,com.example.test1.Popu_TC.class);
     //startActivityForResult(intent, REQUEST_CODE);
     //}
   
   
   
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

//String result2=data.getStringExtra("popu_key1");
        //text_return1.setText(result2);
     
     String str_result="";
     switch (requestCode) {  
                case 1:  
                 str_result=data.getStringExtra("re_key1"); 
                  text_return1.setText(str_result);
                     break;  
                 case 2:  
                  str_result=data.getStringExtra("re_key2");
                  text_return2.setText(str_result);
                     break;   
             }
    }
    ////////////////////

}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////

package com.example.test1;

import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.EditText;

////////////////////
import android.view.View;
////////////////////

public class Popu_TC extends ActionBarActivity {
 
 ////////////////////
 private EditText Text_Popu;
 private Button myButton;
 private EditText Text_return;
 ////////////////////

@Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_popu__tc);
  
        ////////1///////////
  Text_Popu = (EditText)findViewById(R.id.editText_Popu);
  myButton = (Button)findViewById(R.id.btn_popu);
  Text_return = (EditText)findViewById(R.id.editText_last);
        ////////////////////
  
        ////////2///////////
  Bundle bunde = this.getIntent().getExtras();
  //String strs = bunde.getString("key3").toString();
  Text_Popu.setText(bunde.getString("key1").toString());
        ////////////////////
  
  
        ////////3///////////
        myButton.setOnClickListener(new View.OnClickListener() {

@Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
             
                ////intent负责程序跳转和传递数据
                Intent intent = new Intent();
                intent.putExtra("re_key1", Text_return.getText().toString()); // key1为名,value1为值
                //intent.putExtras(bundle); // 传数据

//setResult(RESULT_OK, intent);  
                //finish();  
               
                //SubActivity.this.setResult(RESULT_OK, intent);
                //SubActivity.this.finish();
                //setResult(RESULT_OK, intent);  //设置返回结果
                //finish(); //关闭子窗口,否则数据无法返回
               
                setResult(RESULT_OK, intent);
                finish();

}
        });
        ////////////////////
  
 }
 
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.popu__tc, menu);
  return true;
 }

@Override
 public boolean onOptionsItemSelected(MenuItem item) {
  // Handle action bar item clicks here. The action bar will
  // automatically handle clicks on the Home/Up button, so long
  // as you specify a parent activity in AndroidManifest.xml.
  int id = item.getItemId();
  if (id == R.id.action_settings) {
   return true;
  }
  return super.onOptionsItemSelected(item);
 }
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////

package com.example.test1;

import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.EditText;

////////////////////
import android.view.View;
////////////////////

public class F2_TC extends ActionBarActivity {
 
 ////////////////////
 private EditText Text_in2;
 private Button myButton;
 private EditText Text_return2;
 ////////////////////

@Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_f2__tc);
  
        ////////1///////////
  Text_in2 = (EditText)findViewById(R.id.editText_in);
  myButton = (Button)findViewById(R.id.btn_popu);
  Text_return2 = (EditText)findViewById(R.id.editText_out);
        ////////////////////
  
        ////////2///////////
  Bundle bunde = this.getIntent().getExtras();
  //String strs = bunde.getString("key3").toString();
  Text_in2.setText(bunde.getString("key2").toString());
        ////////////////////
  
  
        ////////3///////////
        myButton.setOnClickListener(new View.OnClickListener() {

@Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
             
                ////intent负责程序跳转和传递数据
                Intent intent = new Intent();
                intent.putExtra("re_key2", Text_return2.getText().toString()); // key1为名,value1为值
                //intent.putExtras(bundle); // 传数据

//setResult(RESULT_OK, intent);  
                //finish();  
               
                //SubActivity.this.setResult(RESULT_OK, intent);
                //SubActivity.this.finish();
                //setResult(RESULT_OK, intent);  //设置返回结果
                //finish(); //关闭子窗口,否则数据无法返回
               
                setResult(RESULT_OK, intent);
                finish(); 
  
  
             
            }
        });
        ////////////////////
  
 }

@Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.f2__tc, menu);
  return true;
 }

@Override
 public boolean onOptionsItemSelected(MenuItem item) {
  // Handle action bar item clicks here. The action bar will
  // automatically handle clicks on the Home/Up button, so long
  // as you specify a parent activity in AndroidManifest.xml.
  int id = item.getItemId();
  if (id == R.id.action_settings) {
   return true;
  }
  return super.onOptionsItemSelected(item);
 }
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////

20150603_Andriod 多个窗体数据回调的更多相关文章

  1. 项目总结03:window.open()方法用于子窗口数据回调至父窗口,即子窗口操作父窗口

    window.open()方法用于子窗口数据回调至父窗口,即子窗口操作父窗口 项目中经常遇到一个业务逻辑:在A窗口中打开B窗口,在B窗口中操作完以后关闭B窗口,同时自动刷新A窗口(或局部更新A窗口)( ...

  2. 【详细、开箱即用】.NET企业微信回调配置(数据回调URL和指令回调URL验证)

    前言: 前段时间因为公司业务需求,需要将微信小程序与企业微信对接通,也就是把小程序绑定到对应的企业微信账号下,在该企业微信的用户可以将该小程序绑定到工作台中,然后可以在工作台中打开该小程序并授权.不过 ...

  3. Windows窗体数据抓取详解

    最近在客户项目上刚好遇到一个问题,项目需求是要获取某台机床的实时状态,问题点刚好就在于该机床不是传统意义上的数控机床,也不是PLC控制器,只有一个上传下载程序文件的应用程序,上面刚好有几个按钮可以大概 ...

  4. winform 子窗体数据改变刷新父窗体 分类: WinForm 2014-05-06 18:30 246人阅读 评论(0) 收藏

    两种方法实现: 第一种,传时间变量,主窗体要不停的刷新数据,占用资源比较大. 第二种,用this,感觉比较好用,建议用这种方法. 举例: 主窗体命名:FormA; 子窗体命名:FormB; 数据绑定方 ...

  5. Ionic3,装饰器(@Input、@ViewChild)以及使用 Events 实现数据回调中的相关用法(五)

    标题栏的渐变效果 使用到的相关装饰器.Class以及相关方法:@Input.@ViewChild.Content.ionViewDidLoad ① @Input 装饰器:用来获取页面元素自定义属性值. ...

  6. [C#]Socket通信BeginReceive异步接收数据何时回调Callback

    原文地址:http://www.cnblogs.com/wangtonghui/p/3277303.html 最近在做服务器压力测试程序. 接触了一段时间Socket异步通讯,发现自己对BeginRe ...

  7. 使用WIN32汇编语言实现一个基本windows窗体的过程分析

    一个常规的windows窗体一般都是一些一样的构造.你假设想要更改一些个性化的设置,你能够在这个一般的模板伤添砖加瓦.构造自己比較喜欢的类型.下边就分析一下一般的windows窗体的一般模板. 一. ...

  8. Dynamics AX 2012 R2 窗体系列 - 在窗体上修改字段时所触发的方法及其顺序

        在这个系列里,Reinhard将和大家一起探索在AX的窗体上执行操作时,都会触发窗体.窗体数据源和表上的哪些方法,并且是以怎样的顺序触发的.     这次,我们来看看在窗体上修改或录入数据的情 ...

  9. winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体

    winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体,搜集了几个方法,列举如下: 一 . 所有权法 父窗体,名称为“fuForm”,在父窗体中有个公共刷新方法,也就是窗体数据初始 ...

随机推荐

  1. Dive into python 实例学python (1) —— 函数和测试

    odbchelper.py def buildConnectionString(params): """Build a connection string from a ...

  2. PHP和JS实现多按钮提交表单

    JS: <html> <head> <script> function submitit1() //交由程序1处理 { document.myForm.action ...

  3. 双端队列(单调队列)poj2823 区间最小值(RMQ也可以)

    Sliding Window Time Limit: 12000MS   Memory Limit: 65536K Total Submissions: 41844   Accepted: 12384 ...

  4. 进击的java - tomcat的安装,配置都正确之后,还是报错

    1.问题 配置Apatch Tomcat过程报错: The CATALINA_HOME environment variable is not defined correctly.This envir ...

  5. windows namedPipe 命名管道clent and server

    1.client: #include "iostream" #include "windows.h" using namespace std; void mai ...

  6. JS 实现中英文翻译

    缺点就是还是会闪出中文,但是效果还行. var langPackage = { "主题":"Title", "下一页":"Next ...

  7. explode and implode

    [PHP源码阅读]explode和implode函数   explode和implode函数主要用作字符串和数组间转换的操作,比如获取一段参数后根据某个字符分割字符串,或者将一个数组的结果使用一个字符 ...

  8. Win2008 IIS7日期时间格式更改最简便方法

    windows2008 这么高级的系统不可能改个系统的日期时间显示格式还要进注册表啊.于是有baidu,google了下终于发现了,原来还有不需要注册表的更简便方法. windows2008默认时间格 ...

  9. PAT乙级 1019. 数字黑洞 (20)

    1019. 数字黑洞 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定任一个各位数字不完全相同的4位 ...

  10. 《聚焦3D地形编程》学习点

    痞子龙的译本虽然称不上好,但却保留了原汁原味,看这本书时最好结合原文与痞子龙的译文.另外,如果有过地形生成的经验再看这本书时有些帮助,这本书介绍的专业的室外地形开发,很全面的介绍. 仅是个人总结,可能 ...