0
내가 작업하고있는 프로젝트에서 "Issues"(자식)가있는 "프로젝트"(부모)가 많습니다. 목록에 표시해야하므로 RecyclerView를 사용했습니다. 이를 달성하기 위해 BigNerdRanch 라이브러리 (https://github.com/bignerdranch/expandable-recycler-view)를 사용했습니다.onClick 확장형 RecyclerView (bignerdranch 라이브러리 사용)
문제는 모든 하위 정보를 가져 와서 다른 활동으로 보내야하는 문제입니다.
라이브러리에는 자식 클릭을 처리 할 방법이 없으므로 작업을 구현하려고 시도했지만 (나는 생각합니다.), 여기 차단되었습니다. 나는 클릭 한 아이가 필요한 정보로 활동을 시작하는 법을 모릅니다.
public class ProjectAdapter extends ExpandableRecyclerAdapter<ProjectViewHolder, IssueViewHolder> {
private LayoutInflater mInflator;
private Context appContext ;
public ProjectAdapter(Context context, @NonNull List<? extends ParentListItem> parentItemList) {
super(parentItemList);
this.mInflator = LayoutInflater.from(context);
this.appContext = context;
}
@Override
public ProjectViewHolder onCreateParentViewHolder(ViewGroup parentViewGroup) {
View projectView = mInflator.inflate(R.layout.jira_project, parentViewGroup, false);
return new ProjectViewHolder(projectView);
}
@Override
public IssueViewHolder onCreateChildViewHolder(ViewGroup childViewGroup) {
View issueView = mInflator.inflate(R.layout.jira_issue, childViewGroup, false);
return new IssueViewHolder(issueView,this.appContext);
}
@Override
public void onBindParentViewHolder(ProjectViewHolder projectViewHolder, int position, ParentListItem parentListItem) {
Project project = (Project) parentListItem;
projectViewHolder.bind(project);
}
@Override
public void onBindChildViewHolder(IssueViewHolder issueViewHolder, int position, Object childListItem) {
Issue issue = (Issue) childListItem;
issueViewHolder.bind(issue);
}
}
IssueViewHolder (아동) :
public class IssueViewHolder extends ChildViewHolder{
private TextView mIssueTextView; // contendra de momento el "summary" del issue
private Context appContext;
public IssueViewHolder(View itemView, final Context appContext) {
super(itemView);
this.appContext = appContext;
this.mIssueTextView = (TextView) itemView.findViewById(R.id.jir_issue_name);
this.mIssueTextView.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Log.d("JIRA", "CLICk CHILD");
Toast.makeText(appContext, "CHILD #"+getAdapterPosition() +"\n CHILD##"+getPosition(), Toast.LENGTH_LONG).show();
}
});
}
public void bind(Issue issue){
mIssueTextView.setText(issue.getKey());
}
}
내가 말했듯이, 나는 아이의 정보를 얻는 방법에 stucked 해요 여기
는 ProjectAdapter입니다.어떻게 해결할 수 있습니까?