以下为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>