我遇到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);
...
}
}
基本上,当选择Fragment
中的列表项时,Fragment
会调用onRecordingsItemSelected(...)
回调方法,GuideDetailActivity
(扩展Activity
)会显示出来精细。根据我选择的按钮,onClick(...)
中的GuideDetailActivity
方法会设置结果并调用finish()
。
问题是,我从未在logcat中看到Log.d(...)
的输出。正如我所说的,它在使用Activities
创建的应用程序中运行正常(它从我的原始来源复制/粘贴)。
是否有某些事情导致FragmentActivity
无法收到结果,这意味着我需要采取不同的做法?