RecyclerView

Add dependencies

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'    compile 'com.android.support:appcompat-v7:24.2.1'


    compile 'com.android.support:recyclerview-v7:24.1.1'    compile 'com.android.support:design:24.1.1'
}

----------------------------***-------------------------------

main class


package com.wdp.recyclerviewdemo;

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

import com.wdp.recyclerviewdemo.Adapter.MoviesAdapter;

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

public class MainActivity extends AppCompatActivity {
    RecyclerView recyclerList;
    private MoviesAdapter mAdapter;
    private List<String> movieList = new ArrayList<>();

    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        movieList.add("nagjee");
        movieList.add("Harsh");
        movieList.add("Gaurav");

        recyclerList = (RecyclerView) findViewById(R.id.recyclerList);
        mAdapter = new MoviesAdapter(movieList);
        RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext(), LinearLayoutManager.VERTICAL, false);
        recyclerList.setLayoutManager(mLayoutManager);

        recyclerList.setAdapter(mAdapter);

        //prepareMovieData();    }

   /* private void prepareMovieData() {        Movies movies = new Movies("Mad Max: Fury Road", "Action & Adventure", "2015");        movieList.add(movies);    }*/}

__________________________________________________***________________

layout  


<?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.support.v7.widget.RecyclerView        android:id="@+id/recyclerList"        android:layout_width="match_parent"        android:layout_height="wrap_content">
   </android.support.v7.widget.RecyclerView>
</RelativeLayout>




_______________________***______________________-

Adapter 

import android.content.Context;
import android.graphics.Movie;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.wdp.recyclerviewdemo.Movies;
import com.wdp.recyclerviewdemo.R;

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


public class MoviesAdapter extends RecyclerView.Adapter<MoviesAdapter.MyViewHolder> {
    Context context;
    LayoutInflater layoutInflater;
    private List<String> moviesLists;

    public MoviesAdapter(List<String> movieList) {
        this.moviesLists = movieList;
    }

    @Override    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.movie_list_row, parent, false);
        return new MyViewHolder(itemView);
    }

    @Override    public void onBindViewHolder(MyViewHolder holder, int position) {
        holder.title.setText(moviesLists.get(position));

    }

    @Override    public int getItemCount() {
        return moviesLists.size();
    }

    class MyViewHolder extends RecyclerView.ViewHolder {
        private TextView title, genre, year;

        public MyViewHolder(View itemView) {
            super(itemView);
            title = (TextView) itemView.findViewById(R.id.title);
            genre = (TextView) itemView.findViewById(R.id.genre);
            year = (TextView) itemView.findViewById(R.id.year);
        }
    }
}


-------------------**-------------------------------
layout



<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:padding="10dp">

    <TextView        android:hint="dfsd"        android:id="@+id/title"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_alignParentTop="true"        android:padding="10dp"        android:textColor="@android:color/black"        android:textSize="16dp"        android:textStyle="bold" />

    <TextView        android:id="@+id/genre"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/title"        android:padding="10dp"        android:textColor="@android:color/black" />

    <TextView        android:id="@+id/year"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentRight="true"        android:padding="10dp"        android:text="dgfdhgjhhg"        android:textColor="@android:color/black" />
</RelativeLayout>


--------------------------***------------------------------

model class


public class Movies {
    private String title, genre, year;

    public Movies() {
    }

    public Movies(String title, String genre, String year) {
        this.title = title;
        this.genre = genre;
        this.year = year;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String name) {
        this.title = name;
    }

    public String getYear() {
        return year;
    }

    public void setYear(String year) {
        this.year = year;
    }

    public String getGenre() {
        return genre;
    }

    public void setGenre(String genre) {
        this.genre = genre;
    }
}

Share:

No comments:

Post a Comment

Powered by Blogger.

Recent Posts

Unordered List

  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  • Aliquam tincidunt mauris eu risus.
  • Vestibulum auctor dapibus neque.

Theme Support

Need our help to upload or customize this blogger template? Contact me with details about the theme customization you need.