Удаление элементов из FirebaseRecyclerAdapter
работало нормально, пока я не переключился на шаблон MVP. прямо сейчас адаптер не уведомляет об изменении и выдает ошибку. Как я могу решить эту проблему.
Вот мой FirebaseRecyclerAdapter,
@Override
public FirebaseRecyclerAdapter onEntryListChanged(Query query, FirebaseRecyclerOptions<EntryModel> options) {
adapter = new FirebaseRecyclerAdapter<EntryModel, EntryHolder>(options) {
@NonNull
@Override
public EntryHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.entry_item_view,parent,false);
return new EntryHolder(view);
}
@Override
protected void onBindViewHolder(@NonNull final EntryHolder holder, final int position, @NonNull EntryModel model) {
entryView.attachView(model.getTitle(),model.getContent(),model.getDate(),holder);
holder.entryUpdate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
updateFragment(adapter.getRef(position).getKey());
}
});
holder.entryDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference("Entry").child(FirebaseAuth.getInstance().getUid());
mDatabase.child(adapter.getRef(position).getKey()).removeValue();
notifyDataSetChanged();
}
});
holder.expandArrow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean shouldExpand = holder.expandContent.getVisibility() == View.GONE;
ChangeBounds transition = new ChangeBounds();
transition.setDuration(200);
if(shouldExpand){
entryView.expandArror(holder);
}
else {
entryView.collapsArrow(holder);
}
entryView.startTransition(holder,transition,shouldExpand);
}
});
}
};
return adapter;
проблема с удалением.
файл журнала,
07-02 00:38:47.678 29773-29773/com.example.nejat.journalapptrail1 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.nejat.journalapptrail1, PID: 29773
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.get(ArrayList.java:411)
at com.firebase.ui.common.BaseObservableSnapshotArray.getSnapshot(BaseObservableSnapshotArray.java:70)
at com.firebase.ui.database.FirebaseRecyclerAdapter.getRef(FirebaseRecyclerAdapter.java:112)
at com.example.nejat.journalapptrail1.EntryList.EntryListPresenter$1$2.onClick(EntryListPresenter.java:72)
at android.view.View.performClick(View.java:6261)
at android.view.View$PerformClick.run(View.java:23752)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6776)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1518)