recyclerview의 단일 행을 클릭하면 recyclerview 어댑터에서 조각을 열고 싶습니다. 이 활동에는 뷰 페이저가있는 하나의 주요 활동과 세 개의 단편이 있습니다. 두 번째 조각 안에 두 개의 조각이 더 있습니다. 첫 번째 조각 안에는 recyclerview를 사용했습니다. 그 recyclerview에서 내가 recyclerview의 행을 클릭하면 새로운 조각을 열고 싶습니다.recyclerview 어댑터에서 자식 조각을 호출하는 방법
TodayTaskAdapter
package com.smartitventures.employeeapp.Adapters;
import android.app.Activity;
import android.content.Context;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;
import com.smartitventures.employeeapp.Activities.ProfileActivity3;
import com.smartitventures.employeeapp.Fragments.FragmentTaskHistory;
import com.smartitventures.employeeapp.Fragments.TaskDetailFragment;
import com.smartitventures.employeeapp.Interfaces.ItemClickListener;
import com.smartitventures.employeeapp.R;
import com.smartitventures.employeeapp.Response.Response.TaskResponse.TaskPayload;
import java.util.ArrayList;
public class TodayTaskAdapter extends RecyclerView.Adapter<TodayTaskAdapter.MyViewHolder> {
private ArrayList<TaskPayload> taskPayloadArrayList;
private Context context;
ProfileActivity3 profileActivity3 = (ProfileActivity3) context;
public TodayTaskAdapter(Activity context, ArrayList<TaskPayload> taskPayloadArrayList)
{
this.taskPayloadArrayList = taskPayloadArrayList;
this.context = context;
}
@Override
public TodayTaskAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.today_task_row, parent, false);
context = parent.getContext();
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(TodayTaskAdapter.MyViewHolder holder, int position) {
TaskPayload taskPayload = taskPayloadArrayList.get(position);
holder.tvTitle.setText(taskPayload.getTitle());
holder.tvDesc.setText(taskPayload.getDescription());
holder.tvAssignDate.setText(taskPayload.getCreatedOn());
holder.tvDeadline.setText(taskPayload.getDeadline());
holder.setClickListener(new ItemClickListener() {
@Override
public void onClick(View view, int position, boolean isLongClick) {
Toast.makeText(context, "Clickkkkkkkkkkkkkkkkkkkkkkkk", Toast.LENGTH_SHORT).show();
FragmentTaskHistory fragmentTaskHistory = new FragmentTaskHistory();
FragmentTransaction transaction = profileActivity3.getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.frame_container, fragmentTaskHistory, "Fragment History Task").commit();
}
});
}
@Override
public int getItemCount() {
return taskPayloadArrayList.size();
}
public static class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView tvTitle,tvDesc,tvAssignDate,tvDeadline;
private ItemClickListener clickListener;
public MyViewHolder(View itemView) {
super(itemView);
tvTitle = itemView.findViewById(R.id.tvTitle);
tvDesc = itemView.findViewById(R.id.tvDesc);
tvAssignDate = itemView.findViewById(R.id.tvAssignDate);
tvDeadline = itemView.findViewById(R.id.tvDeadline);
itemView.setOnClickListener(this);
}
public void setClickListener(ItemClickListener itemClickListener){
this.clickListener = itemClickListener;
}
@Override
public void onClick(View view) {
clickListener.onClick(view,getPosition(),false);
}
}
}
오류 로그 여기에 – akhilesh0707