首先我有两个activity 都不是mainactivity
我在activity1中                   Intent intent = new Intent(activity1.this,activity2.class);
                        startActivityForResult(intent, REQUEST_CODE);
并写有事件    @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            if (resultCode == RESULT_OK) {
                                setTitle("成功");
                        }
        }
在activity2退出时写setResult(RESULT_OK); 然后就返回activity1了;
问题是理论上应该返回后首先调activity1的onActivityResult事件判断,可并没有进到这个事件中,请问大家这是为什么呢
还有一个奇怪的问题 就是我在activity1点按钮要打开activity2时,却进入了onActivityResult事件 不知道是为什么
请明白的朋友帮忙解释下好吗 不应该是这样的吧 我的代码也没有写错啊 

解决方案 »

  1.   

    检查一下你的Activity 2的退出事件是不是先setResult(xx) 再this.finish();
      

  2.   

    楼上的哥们 我是先setresult() 再finish()的啊
      

  3.   

        public void setResults(){
         Log.i("12345",String.valueOf(RESULT_OK));
    //Intent mIntent = new Intent();
    setResult(RESULT_OK);
        } @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    // 按下键盘上返回按钮
    if(keyCode == KeyEvent.KEYCODE_BACK){
    setResults();
    finish(); return true;
    }
    else{
    return super.onKeyDown(keyCode, event);
    }
    }
      

  4.   

        @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
         Log.i("onActivityResult", "----------------");
         if (resultCode == RESULT_OK) {
    setTitle("成功");
    }
    }
      

  5.   

    应该没有问题的啊,在onStop的时候setResult。
    最好贴上代码看看吧。
      

  6.   

    以上代码完全没问题,创建了新工程,测试过,可以在按返回键后设置Activity的标题为“成功”
      

  7.   

    主要我这代码两个activity都不是mainactivity
      

  8.   

    package com.CustomButton.xx;import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;public class myActivityOne extends Activity { protected static final int ACTIVITYTWO_FEEDBACK = 0;
    private Button btn1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activityone);
    btn1 = (Button) findViewById(R.id.btn_actone);
    btn1.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
    // TODO Auto-generated method stub
    Intent intent = new Intent(myActivityOne.this, myActivityTwo.class);
    startActivityForResult(intent, ACTIVITYTWO_FEEDBACK);
    }
    });
    }

    @Override
    // protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // // TODO Auto-generated method stub
    //
    // super.onActivityResult(requestCode, resultCode, data);
    // if (resultCode == RESULT_OK){
    // setTitle("Success!");
    // }
    // }
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Log.i("onActivityResult", "----------------");
    if (resultCode == RESULT_OK) {
    setTitle("成功");
    }
    }}
    package com.CustomButton.xx;import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.KeyEvent;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;public class myActivityTwo extends Activity { private static final int ACTIVITYTWO_FEEDBACK = 0;
    private Button btn;
    // private Intent intent;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activitytwo);
    btn = (Button) findViewById(R.id.btn_acttwo);

    //btn.setOnClickListener(this);

    //event
    // intent = this.getIntent();
    }
    // public void onClick(View v) {
    // // TODO Auto-generated method stub
    //
    // this.setResult(RESULT_OK);
    // this.finish();
    //
    // } public void setResults() {
    Log.i("12345", String.valueOf(RESULT_OK));
    // Intent mIntent = new Intent();
    setResult(RESULT_OK);
    }
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    // 按下键盘上返回按钮
    if (keyCode == KeyEvent.KEYCODE_BACK) {
    setResults();
    finish();
                            }
    return super.onKeyDown(keyCode, event);

    }}
      

  9.   

    咳不知道为什么 就是有问题 我就是这么写的 不过就是两个activity都不是启动程序那个mainactivity
      

  10.   

    我的也不是Main Activity. 问题很简单,应该很快就能找到错误的地方。如果不在JAVA代码里,看看XML是不是有写错。或者你打个包发给我一下,我也是新手,大家交流交流。
      

  11.   

    是不是你没在AndroidManifest.xml里面加上你的activity.
      

  12.   

    AndroidManifest.xml这个文件配置了吗,仔细检查一下,学习,与君共勉!!!
      

  13.   

    要呈现其他Activity必须在AndroidMenifest.xml中添加你缩写的Activity