Recycler View With Card View
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
app:cardCornerRadius="5dp">
<LinearLayout
android:orientation="horizontal"
android:background="@color/white"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/image_row"
android:layout_margin="7dp"
android:layout_width="60dp"
android:layout_height="60dp"
android:contentDescription="Thumbnail"
android:src="@drawable/rectangle"/>
<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent">
<TextView
android:id="@+id/tv_title"
android:textSize="18sp"
android:textStyle="bold"
android:textColor="@color/black"
android:text="Title"
android:layout_margin="7dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv_description"
android:textSize="15sp"
android:textStyle="italic"
android:textColor="@color/black"
android:text="Description"
android:layout_marginLeft="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:src="@android:drawable/ic_delete"
android:tint="@color/black"
android:layout_margin="7dp"
android:contentDescription="Delete image"
android:id="@+id/image_row_delete"
android:layout_width="20dp"
android:layout_height="20dp" />
<ImageView
android:src="@android:drawable/ic_input_add"
android:tint="@color/colorAccent"
android:layout_margin="7dp"
android:contentDescription="Add image"
android:id="@+id/image_row_add"
android:layout_width="20dp"
android:layout_height="20dp" />
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
dependencies {
compile 'com.android.support:recyclerview-v7:24.0.0'
compile 'com.android.support:cardview-v7:24.0.0'
}
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.techpalle.karan.personaldictionary.R;
import com.techpalle.karan.personaldictionary.model.Word;
import java.util.List;
public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.MyViewHolder> {
private List<POJO> mData;
private LayoutInflater mInflater;
public RecyclerAdapter(Context context, List<Word> mData) {
this.mData = mData;
this.mInflater = LayoutInflater.from(context);
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = mInflater.inflate(R.layout.list_item, parent, false);
MyViewHolder holder = new MyViewHolder(view);
return holder;
}
@Override
public int getItemCount() {
return mData.size();
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
POJO currentPojo = mData.get(position);
holder.setData(currentPojo, position);
}
class MyViewHolder extends RecyclerView.ViewHolder{
private TextView mTextWord;
private ImageView mImageHighlight, mImageView;
private int position;
private Word currentWord;
public MyViewHolder(View itemView) {
super(itemView);
mTextWord = (TextView) itemView.findViewById(R.id.text_view_row_word);
mImageHighlight = (ImageView) itemView.findViewById(R.id.image_highlight);
mImageView = (ImageView) itemView.findViewById(R.id.image_view_word);
}
public void setData(Word currentWord, int position) {
this.position = position;
this.currentWord = currentWord;
mTextWord.setText(currentWord.getName());
}
}
}
public class POJO {
private String text1, text2, text3;
public POJO() {
}
public POJO(String text1, String text2, String text3) {
this.text1 = text1;
this.text2 = text2;
this.text3 = text3;
}
public String getText1() {
return text1;
}
public String getText2() {
return text2;
}
public String getText3() {
return text3;
}
}
private void setupRecyclerView(View view) {
ArrayList<POJO> arrayListData= getData();
RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
RecyclerAdapter recyclerAdapter = new RecyclerAdapter(getActivity(), arrayListData);
recyclerView.setAdapter(recyclerAdapter);
LinearLayoutManager linearLayoutManager= new LinearLayoutManager(getActivity());
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(linearLayoutManager);
// Items show default animation even if we do not set this
recyclerView.setItemAnimator(new DefaultItemAnimator());
}