teja2495
10/22/2018 - 9:50 PM

RecyclerView

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);
        }
    }
}
<android.support.v7.widget.RecyclerView
android:id="@+id/my_recycler_view"
android:scrollbars="vertical"
android:layout_width="364dp"
android:layout_height="327dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.454"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/view2"
app:layout_constraintVertical_bias="0.0"/>