0

我有一个显示 Android V2 地图的片段活动。在里面我还有一个 onActivityResult 用于处理需要从调用活动传递的意图 Extras

public class DisplayMap extends FragmentActivity implements LocationListener {

    @Override
    protected void onCreate(Bundle arg0) {
       // TODO Auto-generated method stub
       super.onCreate(arg0);

       setContentView(R.layout.map);
    }

    public void onActivityResult(int requestCode, int resultCode, Intent intent){
       super.onActivityResult(requestCode, resultCode, intent);

       Log.v("TEST", "********************************************");
    }
} 

这是调用它的活动的代码。

Intent i = new Intent("com.example.DisplayMap");
setResult(RESULT_OK, i);
startActivityForResult(i, 2014);

但不知何故,内部没有调用 onActivityResult。

提前致谢。丹尼斯

4

1 回答 1

0

onActivityResult() 需要在调用活动中,它检索结果,顾名思义。

要从调用的活动返回结果,您需要使用 setResult() 并完成该活动:

称为活动:

Intent i = new Intent();
setResult(RESULT_OK, i);
finish();

将 RESULT_OK 作为resultCode参数传递给onActivityResult()和 i 作为intent

调用活动:

Intent i = new Intent("com.example.DisplayMap");
startActivityForResult(i, REQUEST_CODE);

并收到结果:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {

    if(requestCode == REQUEST_CODE){
        if (resultCode == RESULT_OK){
            // RESULT OK, take the returned extras from intent and use them
        }
    }
}
于 2014-01-16T21:25:27.127 回答