小编Dan*_*iel的帖子

当Sub-Activity完成时,有时不会调用onActivityResult

在测试期间,我注意到有时候我的子活动的finish()没有执行onActivityResult.大多数时候它工作正常,我无法弄清楚,何时以及为什么会出现这个问题.

子活动开始:

public void launchSubActivity(Class<? extends Activity> subActivityClass, Bundle data,
        OnSubActivityResult callback) {

    Intent i = new Intent(this, subActivityClass);
    if(data!=null) i.putExtras(data);

    Random rand = new Random();
    int correlationId = rand.nextInt();

    _callbackMap.put(correlationId, callback);

    startActivityForResult(i, correlationId);

}
Run Code Online (Sandbox Code Playgroud)

子活动完成:

public void select() {
    Bundle b = new Bundle();
    b.putInt("YEAR", year_result);
    b.putInt("MONTH", month_result);
    b.putInt("DAY", day_result);
    this.getIntent().putExtras(b);
    this.setResult(RESULT_OK, this.getIntent());
    this.finish();
}
Run Code Online (Sandbox Code Playgroud)

onActivityResult(由Nazmul Idris撰写):

/**
 * this is the underlying implementation of the onActivityResult method that
 * handles auto generation of correlationIds and adding/removing …
Run Code Online (Sandbox Code Playgroud)

android subactivity

6
推荐指数
1
解决办法
1658
查看次数

标签 统计

android ×1

subactivity ×1