以下为GrideView例子:
/** * 我的 - 认证信息 * Created by dwen on 2018/4/4. */ public class MyRenzhengActivity extends BaseActivity { private List<RenZhengBean> renZhengBeans = new ArrayList<>(); private GridView gridView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_renzheng); gridView = (GridView)findViewById(R.id.my_renzheng_gridV); initUI(); initRenZhengList(); actionAdapter(); } /** * 初始化UI */ private void initUI(){ TextView textView = (TextView) this.findViewById(R.id.top_title2); textView.setText("认证信息"); ImageView imageView = (ImageView)this.findViewById(R.id.jiantouImg2); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); } private void initRenZhengList(){ RenZhengBean bean = new RenZhengBean(); //TODO 判断是否认证 bean.setImgTag(R.mipmap.no_shiming); bean.setName("实名认证"); bean.setDesc("个人信息审核认证"); bean.setType(RenzhengType.SHIMING.key); renZhengBeans.add(bean); RenZhengBean bean2 = new RenZhengBean(); //TODO 判断是否认证 bean2.setImgTag(R.mipmap.yes_qiye); bean2.setName("企业认证"); bean2.setDesc("企业资质审核认证"); bean2.setType(RenzhengType.QIYE.key); renZhengBeans.add(bean2); RenZhengBean bean3 = new RenZhengBean(); //TODO 判断是否认证 bean3.setImgTag(R.mipmap.yes_dangbao); bean3.setName("担保认证"); bean3.setDesc("担保交易认证"); bean3.setType(RenzhengType.DANGBAO.key); renZhengBeans.add(bean3); } /** * Adapter */ private void actionAdapter(){ MyRenzhengAdapter adapter = new MyRenzhengAdapter(renZhengBeans,MyRenzhengActivity.this); gridView.setAdapter(adapter); } }
/** * 我的认证 * Created by dwen on 2018/4/4. */ public class MyRenzhengAdapter extends BaseAdapter { private List<RenZhengBean> list = new ArrayList<>(); Context context; public MyRenzhengAdapter(List<RenZhengBean> list, Context context) { this.list = list; this.context = context; } @Override public int getCount() { return this.list.size(); } @Override public Object getItem(int position) { return this.list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { final ViewHolder holder; final RenZhengBean bean = this.list.get(position); if (null == convertView){ convertView = LayoutInflater.from(context).inflate(R.layout.item_my_renzheng,null); holder = new ViewHolder(convertView); holder.img = convertView.findViewById(R.id.item_renzheng_img); holder.txtName = convertView.findViewById(R.id.item_renzheng_txt); holder.txtDesc = convertView.findViewById(R.id.item_renzheng_txt2); holder.linearLayout = convertView.findViewById(R.id.my_renzheng_linear); holder.linearLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (bean.getType().equals(RenzhengType.DANGBAO.key)){ MmtUtils.SwitchActivity(context, MyDangbaoActivity.class,null); }else if(bean.getType().equals(RenzhengType.QIYE)){ }else if (bean.getType().equals(RenzhengType.SHIMING)){ } } }); //set value holder.img.setImageResource(bean.getImgTag()); holder.txtName.setText(bean.getName()); holder.txtDesc.setText(bean.getDesc()); convertView.setTag(holder); }else{ //直接通过holder获取子控件,不必使用findviewbyid,加快了 UI 的响应速度 Log.i("bean.getName()--",bean.getName()); holder = (ViewHolder)convertView.getTag(); holder.img.setImageResource(bean.getImgTag()); holder.txtName.setText(bean.getName()); holder.txtDesc.setText(bean.getDesc()); } return convertView; } /** * ViewHolder save view and speed UI */ static class ViewHolder{ ImageView img; TextView txtName,txtDesc; LinearLayout linearLayout; public ViewHolder() { } public ViewHolder(View view) { } } }
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@color/white"> <include layout="@layout/title2"></include> <GridView android:id="@+id/my_renzheng_gridV" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="15dp" android:columnWidth="153dp" android:stretchMode="spacingWidthUniform" android:verticalSpacing="15dp" android:numColumns="2"> </GridView> </LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical"> <LinearLayout android:id="@+id/my_renzheng_linear" android:layout_width="153dp" android:layout_height="170dp" android:orientation="vertical" android:background="@drawable/shape_corner4"> <ImageView android:id="@+id/item_renzheng_img" android:layout_width="43dp" android:layout_height="50dp" android:src="@mipmap/no_dangbao" android:layout_gravity="center" android:layout_marginTop="25dp"/> <TextView android:id="@+id/item_renzheng_txt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="15dp" android:textColor="@color/text_color" android:text="实名认证" android:layout_gravity="center" android:layout_marginTop="15dp"/> <TextView android:id="@+id/item_renzheng_txt2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="13dp" android:textColor="@color/default_bt_tx_color" android:text="个人信息审核认证" android:layout_gravity="center" android:layout_marginTop="15dp"/> </LinearLayout> </LinearLayout>