Friday, September 2, 2016

Membuat Recycler View Item Click Listener

بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْمِ
Android RecycleView adalah versi lanjutan dari ListView dengan peningkatan performa dan manfaat lainya. Menggunakan RecycleView dan CardView bersama, kedua  list dan gridsbisa dibuat dengan sangat mudah.

Di tutorial ini kita akan mempelajari bagamana cara membuat RecycleView sederhana dengan custom layout.Kita juga akan mempelajari menulis sebuah class adapter, menambah list divider dan row click listener. kita akan mendesain konten list film, menampilkan judul, genre dan tahun release.

oke, sekarang kita akan lanjut untuk membuat sebuag project baru.
1. In Android Studio, go to File =>  new project dan pilih blank activity
2. Buka grandle dan tambahkan dependency RecycleView 
com.android.support:recyclerview-v7:23.1.1 dan rebuild projek kita
3. Buat file xml  content_main, kemudian tambahkan kode dibawah ini 


4. Buka color.xml lokasinya berada di res=> values dan tambahkan warna dibwah ini
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>
    <color name="year">#999999</color>
    <color name="title">#222222</color>
5.Buat class dengan nama Movie.java



6. Buat sebuah layout dengan nama movie_list_row.xml dengan kode dibawah ini


7. Buat file DividerItemDecoration.xml dan tambahka 
package blog.taufiqhidayah.recyclerview;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.List;

public class MoviesAdapter extends RecyclerView.Adapter<MoviesAdapter.MyViewHolder> {

    private List<Movie> moviesList;

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

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


    public MoviesAdapter(List<Movie> moviesList) {
        this.moviesList = moviesList;
    }

    @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) {
        Movie movie = moviesList.get(position);
        holder.title.setText(movie.getTitle());
        holder.genre.setText(movie.getGenre());
        holder.year.setText(movie.getYear());
    }

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

0 komentar:

Post a Comment

Berkomentarlah dengan baik dan bijak..