mit einem Rasterlayout in RecyclerView und ich beobachtet, dass, wenn ich 4-5 Elemente auf dem Bildschirm die Positionen ändern Positionen, ich habe einen onclick implementiert, so dass es in eine andere SeiteRecyclerView GridLayoutManager Artikel verschieben Positionen zufällig
gehen würdepublic interface ItemClickCallback {
void onItemClick(int p, String id);
}
public void setItemClickCallback(final ItemClickCallback itemClickCallback) {
this.itemClickCallback = itemClickCallback;
}
public nAdapter(RealmResults<Nitem> listData, Context c) {
inflater = LayoutInflater.from(c);
this.listData = listData;
}
@Override
public nHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.n_item, parent, false);
return new nHolder(view);
}
@Override
public void onBindViewHolder(nAdapter.nHolder holder, final int position) {
final Nitem item = (Nitem) listData.get(position);
holder.title.setPadding(7,7,7,7);
if(holder.title.toString().isEmpty()) {
holder.title.setText(item.getNotes());
}
holder.container.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
itemClickCallback.onItemClick(position,item.getId());
}
});
}
entfernt die if-Anweisung und nichts geändert, hilft es mir, Realm als seine Datenbank zu verwenden –