现在的位置: 首页 > 综合 > 正文

onActivityResult方法使用

2014年01月12日 ⁄ 综合 ⁄ 共 3041字 ⁄ 字号 评论关闭

主要的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(); //dataB中回传的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);

   }

 

}

抱歉!评论已关闭.