2015-09-10 2 views
-1

У меня проблема с моим приложением: в основной деятельности у меня есть фрагменты, а один из них - ChannelFragment. Он включает RecyclerView с элементами в нем.StartActivity не работает для некоторых элементов 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); 
    } 
} 

ответ

1

Наконец, я решил. Проблема заключалась в объекте «информация», который я вложил в намерения. Он имел 2 drawables и сломал 1 мб предел данных (Maximum length of Intent putExtra method? (Force close)). Поэтому я просто удалил объекты и извлек их из кеша при вызове активности.

Странно, что отладка ничего не говорила о пределе.