package com.asha.nightowl.fragments;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.asha.nightowl.DetailActivity;
import com.asha.nightowl.R;
import static com.asha.nightowl.DemoUtil.fetchFakeImage;
/**
* Created by hzqiujiadi on 15/11/9.
* hzqiujiadi ashqalcn@gmail.com
*/
public class RecyclerViewFragment extends Fragment {
public static RecyclerViewFragment newInstance() {
Bundle args = new Bundle();
RecyclerViewFragment fragment = new RecyclerViewFragment();
fragment.setArguments(args);
return fragment;
}
public RecyclerViewFragment() {
}
RecyclerView recyclerView;
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
recyclerView = (RecyclerView) view.findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(view.getContext()));
recyclerView.setAdapter(new DemoAdapter());
}
@Override
public void onResume() {
super.onResume();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_recycler_view, container, false);
}
public static class VH extends RecyclerView.ViewHolder{
ImageView mImageView;
public VH(View itemView) {
super(itemView);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DetailActivity.launch(v.getContext());
}
});
mImageView = (ImageView) itemView.findViewById(R.id.image);
}
public void bind(int position){
mImageView.setImageResource(fetchFakeImage(position));
}
}
public static class DemoAdapter extends RecyclerView.Adapter<VH>{
LayoutInflater mLayoutInflater;
@Override
public VH onCreateViewHolder(ViewGroup parent, int viewType) {
if ( mLayoutInflater == null )
mLayoutInflater = LayoutInflater.from(parent.getContext());
View v = mLayoutInflater.inflate(R.layout.item_view2,parent,false);
VH vh = new VH(v);
return vh;
}
@Override
public void onBindViewHolder(VH holder, int position) {
holder.bind(position);
}
@Override
public int getItemCount() {
return 40;
}
}
}