2016-09-04 7 views
0

У меня есть этот код в адаптере recycler, который создается из фрагмента, передающего getActivity() в качестве аргумента конструктору адаптеров.android itemView странное поведение при прослушивании

mAdapter = new OffersAdapter(getActivity()); 

Работала нормально. то есть начинается целевая активность.

однако, вдруг, когда я нажимаю определенные элементы в списке, целевая активность не запускается, но новый экземпляр приложения обедает ??? и он появляется в Android Studio Monitor с другим идентификатором?

holder.itemView.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 


      Intent intent = new Intent(context, OfferDetails.class); 
      final Offer offer = list.get(position); 
      intent.putExtra("offer",offer); 
      context.startActivity(intent); 

     } 
    }); 
+0

Что такое режим запуска 'OfferDetails'? –

+0

Я никогда не устанавливал режим запуска .. и он работал по желанию, но внезапно возникла проблема – msdev16

ответ

0

Проблема не связана с прослушивателем кликов.
Собственно, это из-за неправильного использования передаваемого объекта. Размер дополнительного объекта очень большой, что вызывает переполнение стека. Таким образом, приложение снова начинает вызывать описанное поведение. Я хотел бы сообщить об этом как о проблеме: размер дополнительных данных никогда не проверяется. Разве лучше не мешать размеру дополнительных данных и выдавать исключение, если лимиты были преграждены.

 Смежные вопросы

  • Нет связанных вопросов^_^