package yifeiyuan.practice.practicedemos.materialsupport; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.support.v4.widget.SwipeRefreshLayout; 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 java.util.ArrayList; import java.util.List; import butterknife.ButterKnife; import butterknife.InjectView; import yifeiyuan.practice.practicedemos.R; import yifeiyuan.practice.practicedemos.base.AboutMeActivity; import yifeiyuan.practice.practicedemos.base.BaseFragment; /** */ public class ListFragment extends BaseFragment { @InjectView(R.id.rv_list) RecyclerView mRvList; @InjectView(R.id.swipe_refresh) SwipeRefreshLayout mSwipeRefresh; private ListAdapter mAdapter; private List<String> mData; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mRootView = inflater.inflate(R.layout.fragment_list, container, false); ButterKnife.inject(this, mRootView); return mRootView; } protected void init(Bundle savedInstanceState) { mData = new ArrayList<>(); mAdapter = new ListAdapter(getActivity(),mData); for (int i = 0; i < 20; i++) { mData.add("~~"+i); } mRvList.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false)); mRvList.setAdapter(mAdapter); mSwipeRefresh.setColorSchemeResources(R.color.primary, R.color.accent, R.color.primary_dark); mSwipeRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { new Handler().postDelayed(new Runnable() { @Override public void run() { if (null != mSwipeRefresh) { mSwipeRefresh.setRefreshing(false); } } }, 3000); } }); } @Override public void onDestroyView() { super.onDestroyView(); ButterKnife.reset(this); } public static class ListAdapter extends RecyclerView.Adapter<ListAdapter.ViewHolder> implements View.OnClickListener{ // private final TypedValue mTypedValue = new TypedValue(); // private int mBackground; private Context mContext; private List<String>mDatas; public ListAdapter(Context context,List<String> data){ mContext = context; mDatas= data; //android.graphics.drawable.StateListDrawable cannot be cast to android.support.v7.widget.RoundRectDrawableWithShadow // context.getTheme().resolveAttribute(R.attr.selectableItemBackground, mTypedValue, true); // mBackground = mTypedValue.resourceId; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.material_list_item, parent, false); // view.setBackgroundResource(mBackground); view.setOnClickListener(this); return new ViewHolder(view); } @Override public void onBindViewHolder(ViewHolder holder, int position) { } @Override public int getItemCount() { return mDatas.size(); // return 20; } @Override public void onClick(View v) { mContext.startActivity(new Intent(mContext, AboutMeActivity.class)); } public static class ViewHolder extends RecyclerView.ViewHolder{ public ViewHolder(View view){ super(view); } } } }