Headertab

Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

Wednesday, 23 March 2016

RecyclerView

In this blog use Recycler view with cardview


actvity_main.xml

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.samset.recyclerviewsample.MainActivity">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycle"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></android.support.v7.widget.RecyclerView>
</RelativeLayout>


ActvityMain.java

 import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;

import com.samset.recyclerviewsample.adapter.RecyclerAdapter;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {
    private RecyclerView recyclerView;
    private LinearLayoutManager layoutManager;
    private RecyclerAdapter adapter;
    private List<String> myData;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        recyclerView= (RecyclerView) findViewById(R.id.recycle);
           setRecyclerView();
    }

    private void setRecyclerView() {
        recyclerView.setHasFixedSize(true);
        layoutManager = new LinearLayoutManager(this);
        layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
        recyclerView.setLayoutManager(layoutManager);
        adapter = new RecyclerAdapter(this, getList());
        recyclerView.setAdapter(adapter);
        adapter.notifyDataSetChanged();
    }
   private List<String> getList()
   {
       List<String> data=new ArrayList<>();
       data.add("USA");
       data.add("India");
       data.add("Canada");
       data.add("India");
       data.add("India");
       data.add("India");
       data.add("Hungary");
       data.add("India");
       data.add("Belgium");
       data.add("India");
       data.add("India");
       data.add("India");
       data.add("Russia");
       data.add("India");
       data.add("India");
       data.add("Afgahnistan");
       data.add("India");
       data.add("Denmark");
       data.add("India");
       data.add("Shri Lanka");
       data.add("India");
       data.add("Pakistan");
       data.add("India");
       data.add("Belgium");
       data.add("India");
       data.add("India");
       data.add("India");
       data.add("Russia");
       data.add("India");
       data.add("India");
       data.add("Afgahnistan");
       data.add("India");
       data.add("Denmark");
       data.add("India");
       data.add("Shri Lanka");
       data.add("India");
       data.add("Pakistan");
       data.add("India");
       data.add("Belgium");
       data.add("India");
       data.add("India");
       data.add("India");
       data.add("Russia");
       data.add("India");
       data.add("India");
       data.add("Afgahnistan");
       data.add("India");
       data.add("Denmark");
       data.add("India");
       data.add("Shri Lanka");
       data.add("India");
       data.add("Pakistan");
       data.add("India");
       data.add("Belgium");
       data.add("India");
       data.add("India");
       data.add("India");
       data.add("Russia");
       data.add("India");
       data.add("India");
       data.add("Afgahnistan");
       data.add("India");
       data.add("Denmark");
       data.add("India");
       data.add("Shri Lanka");
       data.add("India");
       data.add("Pakistan");
       data.add("India");
       data.add("Belgium");
       data.add("India");
       data.add("India");
       data.add("India");
       data.add("Russia");
       data.add("India");
       data.add("India");
       data.add("Afgahnistan");
       data.add("India");
       data.add("Denmark");
       data.add("India");
       data.add("Shri Lanka");
       data.add("India");
       data.add("Pakistan");
       data.add("India");
       data.add("Belgium");
       data.add("India");
       data.add("India");
       data.add("India");
       data.add("Russia");
       data.add("India");
       data.add("India");
       data.add("Afgahnistan");
       data.add("India");
       data.add("Denmark");
       data.add("India");
       data.add("Shri Lanka");
       data.add("India");
       data.add("Pakistan");
       data.add("India");
       data.add("Belgium");
       data.add("India");
       data.add("India");
       data.add("India");
       data.add("Russia");
       data.add("India");
       data.add("India");
       data.add("Afgahnistan");
       data.add("India");
       data.add("Denmark");
       data.add("India");
       data.add("Shri Lanka");
       data.add("India");
       data.add("Pakistan");
       data.add("India");
       data.add("Belgium");
       data.add("India");
       data.add("India");
       data.add("India");
       data.add("Russia");
       data.add("India");
       data.add("India");
       data.add("Afgahnistan");
       data.add("India");
       data.add("Denmark");
       data.add("India");
       data.add("Shri Lanka");
       data.add("India");
       data.add("Pakistan");
       data.add("India");
       data.add("Belgium");
       data.add("India");
       data.add("India");
       data.add("India");
       data.add("Russia");
       data.add("India");
       data.add("India");
       data.add("Afgahnistan");
       data.add("India");
       data.add("Denmark");
       data.add("India");
       data.add("Shri Lanka");
       data.add("India");
       data.add("Pakistan");
       data.add("India");
       data.add("Belgium");
       data.add("India");
       data.add("India");
       data.add("India");
       data.add("Russia");
       data.add("India");
       data.add("India");
       data.add("Afgahnistan");
       data.add("India");
       data.add("Denmark");
       data.add("India");
       data.add("Shri Lanka");
       data.add("India");
       data.add("Pakistan");
       data.add("India");
       data.add("Belgium");
       data.add("India");
       data.add("India");
       data.add("India");
       data.add("Russia");
       data.add("India");
       data.add("India");
       data.add("Afgahnistan");
       data.add("India");
       data.add("Denmark");
       data.add("India");
       data.add("Shri Lanka");
       data.add("India");
       data.add("Pakistan");
       data.add("India");
       data.add("Belgium");
       data.add("India");
       data.add("India");
       data.add("India");
       data.add("Russia");
       data.add("India");
       data.add("India");
       data.add("Afgahnistan");
       data.add("India");
       data.add("Denmark");
       data.add("India");
       data.add("Shri Lanka");
       data.add("India");
       data.add("Pakistan");

       return data;


   }
}

RecyclerAdapter

 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.samset.recyclerviewsample.R;

import java.util.List;

/**
 * Created by samset on 23/03/16.
 */
public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.MyHolder> {
    Context context;
    List<String> itemList;
    String strDomain;

    public RecyclerAdapter(Context contectxxt, List<String> item) {
        this.context = contectxxt;
        this.itemList = item;


    }


    @Override
    public MyHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        MyHolder holder = null;
        View v = LayoutInflater.from(parent.getContext()).inflate(
                R.layout.list_item, parent, false);
        holder = new MyHolder(v);

        return holder;

    }


    @Override
    public void onBindViewHolder(MyHolder holder, final int position) {

        holder.name.setText(itemList.get(position));


    }


    @Override
    public int getItemCount() {

        if (itemList == null || itemList.size() == 0) {
            return 0;
        }

        // +1 for loader
       
return itemList.size();

    }

    public static class MyHolder extends RecyclerView.ViewHolder {
        public TextView name;



        public MyHolder(View itemView) {
            super(itemView);

            name = (TextView) itemView.findViewById(R.id.name);


        }
    }


}



item.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
<android.support.v7.widget.CardView
    app:cardCornerRadius="4dp"
    app:cardElevation="@dimen/cardElevation"
    app:cardUseCompatPadding="true"
    android:layout_margin="3dp"
    android:fadingEdge="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <RelativeLayout
        android:padding="10dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageView
            android:layout_margin="10dp"
            android:id="@+id/img"
            android:scaleType="center"
            android:src="@mipmap/ic_launcher"
            android:layout_width="100dp"
            android:layout_height="100dp" />

        <TextView
            android:id="@+id/name"
            android:padding="5dp"
            android:layout_toRightOf="@+id/img"
            android:text="Actor Name"
            android:layout_centerVertical="true"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

    </RelativeLayout>
</android.support.v7.widget.CardView>
</LinearLayout>


Thank you 

Full source code here


Live Sample