我有一个问题与我的应用程序:在主要活动中,我有片段,其中一个是ChannelFragment。
当我点击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);
}
}
最后,我解决了。问题在于我在意图中添加了一个对象"info"。它有2个drawables,打破了1mb的数据限制(Intent putExtra方法的最大长度?(关闭))。所以我只是删除了对象的可绘制对象,并在调用activity时从缓存中获取它们。
很奇怪debug没有提到任何限制