i have 2 object, and the have relation like this :
public class Acitivities extends RealmObject{
@PrimaryKey
int id;
String nameActivity;
RealmList<Task> Task;
}
public class Task extends RealmObject{
@PrimaryKey
int id;
String nameTask;
String Description;
}
And this is my RecyclerView Adapter :
public class CustomRealmAdapter extends RealmRecyclerViewAdapter<Task,
CustomRealmAdapter.MyViewHolder>{
OrderedRealmCollection<Task> data;
RealmResult<Task> task;
RealmResult<Activities> activities;
public CustomRealmAdapter(OrderedRealmCollection<Task> data,
RealmResult<Task> task){
super(data,true);
this.data = data;
this.task = task;
}
}
at OnBindViewHolder i want to get Task, with the name of Activities, which is in holder i have 3 textview.
@Override
public void onBindViewHolder(final MyViewHolder holder, final int position) {
final Task tsk = task.ge(position);
holder.nameActivity.setText(activities.getNameActivity);
holder.nameTask.setText(tsk.getNameTask);
holder.Description.setText(tsk.getDescription);
}
but i always get error, am i wrong? create RecyclerView for Task, because the RealmList is in Activities? i want to show this RecyclerView in my Task Activity, not in Activities Activity. Help me :(
To display the Activity
that is linked to a given Task
, you either need a bidirectional link (so Link would have Activity activity;
as well), or you can define the linking objects to Task
as a field of Task
(Realm 3.1+).
public class Acitivities extends RealmObject{
@PrimaryKey
int id;
String nameActivity;
RealmList<Task> Task;
}
public class Task extends RealmObject{
@PrimaryKey
int id;
String nameTask;
String Description;
@LinkingObjects("Task")
final RealmResults<Acitivities> activity = null;
}
Then
public class CustomRealmAdapter extends RealmRecyclerViewAdapter<Task,
CustomRealmAdapter.MyViewHolder>{
public CustomRealmAdapter(OrderedRealmCollection<Task> data){
super(data,true);
}
@Override
public void onBindViewHolder(final MyViewHolder holder, final int position) {
final Task tsk = getData().get(position);
holder.nameActivity.setText(tsk.activity.get(0).getNameActivity());
holder.nameTask.setText(tsk.getNameTask());
holder.Description.setText(tsk.getDescription());
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.