Ich benutze Cursor-Adapter für meine Listenansicht. Ich hatte vor, Content-Resolver zu verwenden, um einen Cursor zu erhalten. Jetzt änderte ich meine Meinung, um ihm die Chance zu geben, das Reich zu lernen. Wie kann ich "Cursor" Objekt mit Realm erhalten? Übrigens würde ich mich auch freuen, ein paar Schnipsel zu geben, um den Cursor zu sortieren.Holen Sie den Cursor mit Realm-Bibliothek
Danke.
final class Contact extends RealmObject {
private CharSequence mName;
public CharSequence getName() {
return mName;
}
public void setName(CharSequence name) {
this.mName = name;
}
}
final class ContactListAdapter extends CursorRecyclerViewAdapter<ContactListAdapter.ContactHolder> implements View.OnClickListener {
private OnContactClickListener mListener;
public ContactListAdapter(Context context, Cursor cursor) {
super(context, cursor);
}
@Override
public ContactHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = getLayoutInflater().inflate(R.layout.cell_contact, parent, false);
ContactHolder contactHolder = new ContactHolder(itemView);
contactHolder.mContactPhotoImageView.setOnClickListener(this);
return contactHolder;
}
@Override
public void onBindViewHolder(ContactHolder viewHolder, Cursor cursor) {
viewHolder.mNameTextView.setText("Emre Akturk");
int position = cursor.getPosition();
viewHolder.mContactPhotoImageView.setImageResource(R.mipmap.ic_launcher);
viewHolder.mContactPhotoImageView.setTag(position);
}
@Override
public int getItemCount() {
return 5;
}
public void setOnContactClickListener(OnContactClickListener callback) {
this.mListener = callback;
}
@Override
public void onClick(View v) {
if (mListener == null) {
return;
}
int position = (int) v.getTag();
if (position == -1) {
mListener.onContactCallClicked(v, getCursor(), position);
} else {
mListener.onContactAddClicked(v, position);
}
}
public interface OnContactClickListener {
void onContactCallClicked(View v, Cursor cursor, int position);
void onContactAddClicked(View v, int position);
}
protected class ContactHolder extends RecyclerView.ViewHolder {
private TextView mNameTextView;
private CircleImageView mContactPhotoImageView;
protected ContactHolder(View itemView) {
super(itemView);
mNameTextView = (TextView) itemView.findViewById(R.id.cell_contact_name_textview);
mContactPhotoImageView = (CircleImageView) itemView.findViewById(R.id.cell_contact_photo_imageview);
}
}
}
Es ist schön, zukünftige Updates zu hören :) Wo können wir Snapshot-Builds ausprobieren? –
Hier finden Sie Informationen zur Einrichtung: https://github.com/realm/realm-java/issues/936. Letzter -SNAPSHOT ist 0.80.1 –
ist es in MavenCentral? oder Snapshot-Server? –