StartActivity 不适用于某些回收器视图项目



我有一个问题与我的应用程序:在主要活动中,我有片段,其中一个是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没有提到任何限制

相关内容

最新更新