package com.lzy.headerviewpager.fragment; import android.graphics.Color; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AbsListView; import android.widget.TextView; import android.widget.Toast; import com.lzy.headerviewpager.Utils; import com.lzy.headerviewpager.R; import com.lzy.headerviewpager.fragment.base.HeaderViewPagerFragment; import java.util.ArrayList; import java.util.List; public class RecyclerViewFragment extends HeaderViewPagerFragment { private RecyclerView mRecyclerView; public static RecyclerViewFragment newInstance() { return new RecyclerViewFragment(); } @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_recyclerview, container, false); mRecyclerView = (RecyclerView) view.findViewById(R.id.recyclerView); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity()); mRecyclerView.setLayoutManager(linearLayoutManager); mRecyclerView.setAdapter(new RecyclerAdapter()); return view; } @Override public View getScrollableView() { return mRecyclerView; } public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.SimpleViewHolder> { private List<String> strings; public RecyclerAdapter() { strings = new ArrayList<>(); for (int i = 0; i < 40; i++) { strings.add("条目" + i); } } @Override public SimpleViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return new SimpleViewHolder(View.inflate(getActivity(), android.R.layout.simple_list_item_1, null)); } @Override public void onBindViewHolder(SimpleViewHolder holder, int position) { holder.bindData(position); } @Override public int getItemCount() { return strings.size(); } public class SimpleViewHolder extends RecyclerView.ViewHolder { TextView itemView; int position; public SimpleViewHolder(View itemView) { super(itemView); this.itemView = (TextView) itemView; itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(v.getContext(), "点击RecycleView item" + position, Toast.LENGTH_SHORT).show(); } }); } public void bindData(int position) { itemView.setGravity(Gravity.CENTER); itemView.setTextColor(Color.WHITE); ViewGroup.LayoutParams params = new AbsListView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 300); itemView.setLayoutParams(params); itemView.setText(strings.get(position)); itemView.setBackgroundColor(Utils.generateBeautifulColor()); } } } }