2012-03-21 27 views
4

我使用onActivityResult方法在我ParentActivity有和我打电话从我ParentActivity一个ChildActivityButton点击。在我ChildActivity当我点击默认后退按钮,当它进入我的ParentActivity,我没有得到我的requestCode,我在我的ChildActivityonStop()方法,通过设置:如何从孩子的活动返回requestCode于母公司活动默认后退按钮单击

的setResult(2);

我怎样才能回我requestCode从我ChildActivityParentActivity当我点击后退按钮。

请帮帮我。

在此先感谢。

这里是马代码:

 //Parent activity 
     protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
      Toast.makeText(this,resultCode+"", Toast.LENGTH_LONG).show(); 
      if(resultCode==2){ 
       finish(); 
      } 
     } 

    //Child activity 
     protected void onStop() { 
      setResult(2); 
      super.onStop(); 
      } 
protected void onPause() { 
      setResult(2); 
      super.onStop(); 
      } 

回答

2

你可以在你的孩子的活动中使用此代码

@Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
     if(keyCode == KeyEvent.KEYCODE_BACK){ 
      setResult(RESULT_OK); 
      finish(); // If you have no further use for this activity or there is no dependency on this activity 
        return true; 
     } 
     return super.onKeyDown(keyCode, event); 
    } 

这段代码会从你的孩子的活动返回结果OK代码父活动

现在在您的父母活动中

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     switch (requestCode) { 
     case 2: 
      if(resultCode == -1){ 
       // Here you write your code which you have to write on result receive 
      } 
      break; 

     default: 
      break; 
     } 
     super.onActivityResult(requestCode, resultCode, data); 
    } 

让我知道如果这能帮助你

+0

Thanks.This帮了我很多 – user1268300 2012-03-21 08:55:59

+0

欢迎我的朋友需要更多的帮助,然后再和我联系 – 2012-03-21 09:09:23

0

这是更好地覆盖onBackPressed(),而不是覆盖的onkeydown()

+0

它确实使用onBackPressed方法作为其专门定义的后退按钮键 – Zoombie 2012-04-28 05:12:58