我有一个Fragment
里面ImageView
。当我点击它时,方法startActivityForResult
被调用。
@OnClick(R.id.iv_avatar)
void setUpAvatar() {
startActivityForResult(new Intent(getContext(), CameraActivity.class), 0);
}
在 CameraActivity 我有菜单项。当我点击它时,我调用setResult
和finish
方法。但他们不调用。CameraActivity 没有关闭,onActivityResult
没有被调用。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.me_done:
Intent intent = new Intent();
if (mData != null) {
intent.putExtra(EXTRA_PICTURE, mData);
intent.putExtra(EXTRA_FROM_CAMERA, mFromCamera);
}
setResult(RESULT_OK, intent);
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
我敢肯定,该onOptionsItemSelected
方法已被触发并且setResult
必须finish
被调用。这里有什么问题?