Recycle View 를 사용 하여 격자 레이아웃 을 만 듭 니 다.
12215 단어 안 드 로 이 드 공부
다음은 activity 에 있 는 코드 입 니 다.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
view=inflater.inflate(R.layout.fragment_find, container, false);
recyclerView= (RecyclerView) view.findViewById(R.id.fm_find_recycle);
List<FindBean> list=new ArrayList<>(); // bean
list.add(new FindBean(R.drawable.head_zhibo," "));
list.add(new FindBean(R.drawable.head_tieba," "));
FindAdapter adapter=new FindAdapter(list,getActivity());
recyclerView.setAdapter(adapter); // gridview setAdapter
recyclerView.setLayoutManager(new GridLayoutManager(getActivity(),3)); // , 3
return view;
}
다음은 adapter 코드 입 니 다.
public class FindAdapter extends RecyclerView.Adapter{
private List<FindBean> list;
private Context context;
public FindAdapter(List<FindBean> list, Context activity) {
this.list=list;
this.context=activity;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { // return holder , item view
return new HalderViewHolder(LayoutInflater.from(context).inflate(R.layout.find_item,null));
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { // UI
((HalderViewHolder)holder).iv.setImageResource(list.get(position).getHead());
((HalderViewHolder)holder).tv.setText(list.get(position).getName()); // RecycleView item ,
((HalderViewHolder)holder).item.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
context.startActivity(new Intent(context, ZhiBoActivity.class));
}
});
}
@Override
public int getItemCount() {
return list.size();
}
class HalderViewHolder extends RecyclerView.ViewHolder{ //holder RecycleView gridview
@ViewInject(R.id.find_item_iv)
private ImageView iv;
@ViewInject(R.id.find_item_tv)
private TextView tv;
@ViewInject(R.id.find_item_item)
private LinearLayout item;
public HalderViewHolder(View itemView) {
super(itemView);
ViewUtils.inject(this,itemView);
}
}
}
다음은 XML 의 코드 입 니 다.
android:id="@+id/fm_find_recycle"
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"/>
이렇게 하면 OK 입 니 다.이것 은 초급 demo 일 뿐 입 니 다.recycleview 는 아직도 실현 할 수 있 는 많은 레이아웃 이 있 습 니 다.기본적으로 list 와 grid 를 대체 할 수 있어 서 매우 좋 습 니 다.