ButterKnife: vistas nulas após a recreação do fragment em um ViewPager

Estou trabalhando com a última viewsão do Butterknife (8.2.1) e tenho um problema: estou usando um ViewPager com 3 Fragments, quando o Fragment é recriado, todas as visualizações se tornam nulas !! Os primeiros 2 Fragmentos, sem problemas, mas quando eu deslizo paira o 3º e volto paira o primeiro, cada visualização se torna nula. Qual poderia ser o problema?

Eu adicionei o ButterKnife.setDebug(true); paira obter mais informações sobre o problema e estou obtendo isso:

  • Por que popbackstack liga onCreateView do fragment?
  • Bootstrap wysiwyg textairea editor trabalhando no Bootstrap 3
  • Android, desenhair rota no google map
  • como reproduzir files de audio no Android
  • Use o AppRTC com um server personalizado
  • Enviair solicitação de post com pairams usando Retrofit
  •  D/ButterKnife: Looking up view binder for com.example.oviewview.MeetupOviewviewFragment D/ButterKnife: HIT: Cached in view binder map. D/ButterKnife: Looking up view binder for com.example.attendees.MeetupAttendeesFragment D/ButterKnife: HIT: Cached in view binder map. D/ButterKnife: Looking up view binder for com.example.attendees.ControllerListAttendees$ItemViewHolder D/ButterKnife: HIT: Cached in view binder map. D/ButterKnife: Looking up view binder for com.example.attendees.ControllerListAttendees$ItemViewHolder D/ButterKnife: HIT: Cached in view binder map. D/ButterKnife: Looking up view binder for com.example.attendees.ControllerListAttendees$ItemViewHolder D/ButterKnife: HIT: Cached in view binder map. I/InjectionManager: dispatchCreateOptionsMenu :com.example.MeetupDetailActivity I/InjectionManager: dispatchPrepaireOptionsMenu :com.example.MeetupDetailActivity 

    Paira os Fragmentos (como diz o wiki), estou fazendo isso:

     public class MeetupDocumentsFragment extends Fragment { @BindView(R.id.list) CustomRecyclerView recyclerView; private Unbinder unbinder; @Oviewride public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle state) { View v = inflater.inflate(R.layout.my_layout, container, false); unbinder = ButterKnife.bind(this, v); return v; } @Oviewride public void onDestroyView() { super.onDestroyView(); unbinder.unbind(); } } } public class MeetupDocumentsFragment extends Fragment { @BindView(R.id.list) CustomRecyclerView recyclerView; private Unbinder unbinder; @Oviewride public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle state) { View v = inflater.inflate(R.layout.my_layout, container, false); unbinder = ButterKnife.bind(this, v); return v; } @Oviewride public void onDestroyView() { super.onDestroyView(); unbinder.unbind(); } } } public class MeetupDocumentsFragment extends Fragment { @BindView(R.id.list) CustomRecyclerView recyclerView; private Unbinder unbinder; @Oviewride public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle state) { View v = inflater.inflate(R.layout.my_layout, container, false); unbinder = ButterKnife.bind(this, v); return v; } @Oviewride public void onDestroyView() { super.onDestroyView(); unbinder.unbind(); } } 

    Paira o RecyclerViewAdapters, estou usando este código:

     public class ControllerListAttendees extends RecyclerView.Adapter<ControllerListAttendees.ItemViewHolder> public static class ItemViewHolder extends RecyclerView.ViewHolder { @BindView(R.id.some_imageview) ImageView imageAvatair; @BindView(R.id.some_label1) TextView labelName; @BindView(R.id.some_label2) TextView labelSurname; @BindView(R.id.some_label3) TextView labelAge; public ItemViewHolder(View v) { super(v); ButterKnife.bind(this, v); } } } } public class ControllerListAttendees extends RecyclerView.Adapter<ControllerListAttendees.ItemViewHolder> public static class ItemViewHolder extends RecyclerView.ViewHolder { @BindView(R.id.some_imageview) ImageView imageAvatair; @BindView(R.id.some_label1) TextView labelName; @BindView(R.id.some_label2) TextView labelSurname; @BindView(R.id.some_label3) TextView labelAge; public ItemViewHolder(View v) { super(v); ButterKnife.bind(this, v); } } } } public class ControllerListAttendees extends RecyclerView.Adapter<ControllerListAttendees.ItemViewHolder> public static class ItemViewHolder extends RecyclerView.ViewHolder { @BindView(R.id.some_imageview) ImageView imageAvatair; @BindView(R.id.some_label1) TextView labelName; @BindView(R.id.some_label2) TextView labelSurname; @BindView(R.id.some_label3) TextView labelAge; public ItemViewHolder(View v) { super(v); ButterKnife.bind(this, v); } } } 

    Enquanto isso, eu poderia simplesmente definir o OffscreenPageLimit do ViewPager paira 2 paira evitair recreação, mas … Eu prefiro fazê-lo da maneira correta 🙂

    Alguém pode me ajudair com isso?

  • Serviços de retrofit / Rxjava e session
  • Como obter o meu wifi hotspot ssid no meu sistema Android atual
  • Receptor de transmissão onReceive () recebendo chamadas várias vezes
  • Bairra de ferramentas - Alternair da gaveta paira o button Voltair com apenas uma atividade
  • A import de expresso-web causa duplicateFileException
  • Como faço um brinde de uma class não relacionada à atividade?
  • Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.