我的应用有问题:在主要活动中我有片段,其中一个是ChannelFragment。它包括RecyclerView及其中的项目。
当我点击RecyclerView的项目时,我想开始新的活动,但它仅适用于少数项目。当我点击其余项目时,我的活动在startActivityForResult()之后转到后台,但它不会调用DetailActivity onCreate()方法。
这是我的代码:
if (!mListMode &&
(info.isNeedBuy() || info.isNeedDownload() || info.isNeedUpdate())) {
Intent intent = new Intent(mActivity.getApplicationContext(),
DetailActivity.class);
intent.putExtra("ItemInfo", info);
intent.putExtra("id", mId);
intent.putExtra("deviceType", mDeviceType);
startActivityForResult(intent, 1);}
@Override
public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
Iteminfo = data.getParcelableExtra("packageItemInfo");
download(info);
}
}
答案 0 :(得分:1)
最后,我解决了它。问题在于对象" info"我投入了意图。它有2个drawables并且突破了1 mb的数据限制(Maximum length of Intent putExtra method? (Force close))。所以我只是删除了对象的drawables并从调用活动中的缓存中获取它们。
奇怪的是调试没有说明限制。