private RecyclerView mRecyclerView;
private RecyclerView.Adapter mAdapter;
private RecyclerView.LayoutManager mLayoutManager;
//In OnCreate()
mRecyclerView=findViewById(R.id.my_recycler_view);
mRecyclerView.setHasFixedSize(true);
mLayoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(mLayoutManager);
mAdapter=new customAdapter(threadList);
mRecyclerView.setAdapter(mAdapter);
//customAdapter extends RecyclerView
public class customAdapter extends RecyclerView.Adapter < customAdapter.ViewHolder > {
List < threads > threads;
public customAdapter(List < com.example.teja2.recyclerchatroom.threads > threads) {
this.threads = threads;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.custom_layout, parent, false);
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull final ViewHolder holder, final int position) {
holder.threadname.setText(threadList.get(position).getTitle());
holder.deleteButton.setVisibility(View.INVISIBLE);
currentPosition = position;
if (threadList.get(position).getUser_id().equals(user_id)) {
holder.deleteButton.setVisibility(View.VISIBLE);
}
holder.deleteButton.setTag(position);
holder.deleteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int position = (Integer) v.getTag();
deleteUrl = ("http://ec2-18-234-222-229.compute-1.amazonaws.com/api/thread/delete/" + threadList.get(position).getId());
if (isConnected()) {
new HttpGetAsync().execute(deleteUrl);
new HttpGetAsync().execute(url);
} else
Toast.makeText(Main2Activity.this, "No Internet Connection", Toast.LENGTH_SHORT).show();
}
});
holder.itemView.setTag(position);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int position = (int) holder.itemView.getTag();
Intent myIntent = new Intent(Main2Activity.this, Main3Activity.class);
myIntent.putExtra("name", username);
myIntent.putExtra("id", user_id);
myIntent.putExtra("threadID", threadList.get(position).getId());
myIntent.putExtra("threadName", threadList.get(position).getTitle());
startActivity(myIntent);
}
});
}
@Override
public int getItemCount() {
return threads.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
ImageView deleteButton;
TextView threadname;
public ViewHolder(View itemView) {
super(itemView);
deleteButton = itemView.findViewById(R.id.imageView);
threadname = itemView.findViewById(R.id.threadName);
}
}
}