玩转GridView

来源:互联网 发布:禁用windows defender 编辑:程序博客网 时间:2024/05/16 16:20

MainActivity:

public class Main6Activity extends Activity {private GridView gridView;    private String[]title=new String[]{"法律法规全库","裁判文书全库","指导性案例全库","法律文书全库","合同范本全库","法律工具库"};    private int[]imageId=new int[]{R.mipmap.home_law_icon,R.mipmap.home_judge_icon,R.mipmap.home_guidecase_icon,R.mipmap.home_instrument_icon,R.mipmap.home_contract_icon,R.mipmap.home_tool_icon};    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main6);        gridView=(GridView)findViewById(R.id.grid);        GridviewAdapter adapter=new GridviewAdapter(title,imageId,this);        gridView.setAdapter(adapter);    }}

MainActivity.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    tools:context="com.fae.mobile.activity.Main6Activity">    <GridView        android:id="@+id/grid"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:padding="20dp"        android:horizontalSpacing="25dp"        android:numColumns="auto_fit"        android:stretchMode="columnWidth"        android:verticalSpacing="25dp"        ></GridView></LinearLayout>

Picture:

public class Picture {    private String title;    private int imageId;    public  Picture(){    }    public Picture(String title,int imageId){        this.imageId=imageId;        this.title=title;    }    public String getTitle() {        return title;    }    public void setTitle(String title) {        this.title = title;    }    public int getImageId() {        return imageId;    }    public void setImageId(int imageId) {        this.imageId = imageId;    }}

picture.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    >        <ImageView            android:layout_gravity="center"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:id="@+id/image1"/>        <TextView            android:layout_gravity="center"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:id="@+id/text3"/></LinearLayout>

GridViewAdapter:

public class GridviewAdapter extends BaseAdapter {private LayoutInflater inflater;    private List<Picture>pictures;    public GridviewAdapter(String[]titles, int[]imageId, Context context){        super();        pictures=new ArrayList<Picture>();        inflater = LayoutInflater.from(context);        for (int i = 0; i < imageId.length; i++)        {            Picture picture = new Picture(titles[i], imageId[i]);            pictures.add(picture);        }    }    @Override    public int getCount() {        return pictures.size();    }    @Override    public Object getItem(int position) {        return pictures.get(position);    }    @Override    public long getItemId(int position) {        return position;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        InViewHolder viewHolder;        viewHolder=new InViewHolder();        if(convertView==null){            convertView=inflater.inflate(R.layout.xml_layout,null);            viewHolder.imageView=(ImageView)convertView.findViewById(R.id.image1);            viewHolder.titles=(TextView)convertView.findViewById(R.id.text3);            convertView.setTag(viewHolder);        }        else {          viewHolder = (InViewHolder) convertView.getTag();        }        viewHolder.titles.setText(pictures.get(position).getTitle());        viewHolder.imageView.setImageResource(pictures.get(position).getImageId());        return convertView;    }    class InViewHolder{        private TextView titles;        private ImageView imageView;    }}

这里写图片描述

原创粉丝点击