zoukankan      html  css  js  c++  java
  • ZT onActivityResult在android中的用法

    onActivityResult在android中的用法

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

    现在贴上一个关于onActivityResult的用法的小例子的代码:

    onActivityResult.java

    主要的Activity,一会会先执行此Activity,然后调用B Activity,并向其发送数据,通过回调函数来获取B传回来的值。

    public class onActivityResult extends Activity {

       /** Called when the activity is first created. */

       @Override

       public void onCreate(Bundle savedInstanceState) {

           super.onCreate(savedInstanceState);

           setContentView(R.layout.main);

           StartA();

       }

       public void StartA()

       {

             Button buttonA = (Button)findViewById(R.id.button1);

             buttonA.setOnClickListener(new View.OnClickListener() {

                    public void onClick(View v) {

                               // TODO Auto-generated method stub

    //                     onActivityResult.this.setContentView(R.layout.second);

    //                     onActivityResult.this.StartB();

                                  Intent intent = new Intent(onActivityResult.this,ClassB.class);

                                      String passString = "Hello,this is A";

                                     intent.putExtra("ToB", passString);

                                      startActivityForResult(intent, 0);

                               

                        }

                 });

       }

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

             switch (resultCode) { //resultCode为回传的标记,我在B中回传的是RESULT_OK

                    case RESULT_OK:

             Bundle b=data.getExtras(); //data为B中回传的Intent

             String str=b.getString("FromB");//str即为回传的值

             TextView view = (TextView)findViewById(R.id.textA);

             view.setText(str);

                     break;

                    default:

                       break;

             }

             }

       

       

       /*public void StartB()

       {

             Button buttonB = (Button)findViewById(R.id.button2);

             buttonB.setOnClickListener(new View.OnClickListener() {

                    public void onClick(View v) {

                               // TODO Auto-generated method stub

                           onActivityResult.this.setContentView(R.layout.main);

                           onActivityResult.this.StartA();

                        }

                 });

       }*/

    }

    ----------------------------------------------------------------------------------------------------------------------

    ClassB.java

    public class ClassB extends Activity{

          private Intent intent;

       public void onCreate(Bundle savedInstanceState) {

           super.onCreate(savedInstanceState);

           setContentView(R.layout.second);

           

           intent = getIntent();

                 String result = intent.getStringExtra("ToB");

           

           

             Button button = (Button)findViewById(R.id.button2);

           button.setOnClickListener(new View.OnClickListener() {

                        

                        @Override

                        public void onClick(View v) {

                               // TODO Auto-generated method stub

                               Intent intent = new Intent(ClassB.this,onActivityResult.class);

                               String passString = "Hello,this is B";

                               intent.putExtra("FromB", passString);

                               setResult(RESULT_OK, intent);

                               finish();

                        }

                 });

          TextView textView = (TextView)findViewById(R.id.textB);

           textView.setText(result);

       }

    }

    ----------------------------------------------------------------------------------------------------------------------

  • 相关阅读:
    飞机大战4-我的子弹
    飞机大战3-我的飞机
    飞机大战1-分析设计
    继承
    常见题
    42个例子算法
    心跳
    tomcat
    service
    URI URL
  • 原文地址:https://www.cnblogs.com/jeanschen/p/3368766.html
Copyright © 2011-2022 走看看