Sto utilizzando l'adattatore del cursore per la visualizzazione elenco. Stavo pensando di usare i resolver di contenuto per ottenere un cursore. Ora ho cambiato idea per dargli la possibilità di imparare il Reame.Ottieni il cursore utilizzando la libreria di Realm
Come posso ottenere oggetto "Cursore" utilizzando il dominio? A proposito, mi piacerebbe anche dare qualche frammento per ordinare il cursore.
Grazie.
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);
}
}
}
È bello sentire gli aggiornamenti futuri :) Dove possiamo provare le build di istantanee? –
Vedi questo per informazioni su come configurarlo: https://github.com/realm/realm-java/issues/936. L'ultimo -SNAPSHOT è 0.80.1 –
è in MavenCentral? o il server Snapshot? –