1

我遇到了onActivityResult(...)不被调用的问题。我正在从另一个可以正常工作的应用程序中调整工作代码,但我现在正在使用Fragments.

主要Activity如下...

public class RecordingsPagerActivity extends SherlockFragmentActivity 
    implements RecordingsListFragment.Callbacks {

    private final int SHOW_DETAIL_DIALOG = 1234;

    // RecordingsListFragment.Callbacks method
    @Override
    public void onRecordingsItemSelected(int oid) {
        showGuideDetailDialog(oid);
    }

    ...

    private void showGuideDetailDialog(int oid) {
        Intent i = new Intent(this, GuideDetailActivity.class);
        i.putExtra("oid", oid);
        startActivityForResult(i, SHOW_DETAIL_DIALOG);
    }

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

        Log.d(TAG, "onActivityResult() entered - requestCode: " + requestCode + " - resultCode: " + resultCode);

        ...
    }
}

Basically when a list item in a Fragmentis selected, the Fragmentcalls the onRecordingsItemSelected(...)callback method and GuideDetailActivity(which extends Activity) shows up fine. 根据我选择的按钮,中的onClick(...)方法GuideDetailActivity设置结果并调用finish().

Log.d(...)问题是,我从来没有在 logcat 中看到过输出。正如我所说,它在使用 just 创建的应用程序中运行良好Activities(它实际上是从我的原始来源复制/粘贴的)。

是否有什么会导致 aFragmentActivity无法收到结果,这意味着我需要以不同的方式做事?

4

0 回答 0