public class MainAdapter extends BaseAdapter{ private Context context; private String[] names; private int[] icons; public MainAdapter(Context context,String[] names, int[] icons) { this.context=context; this.names=names; this.icons=icons; } //返回集合数据的总数 @Override public int getCount() { // TODO Auto-generated method stub return names.length; } //返回指定下标对应的数据对象 @Override public Object getItem(int position) { // TODO Auto-generated method stub return names[position]; } //返回每个条目 @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { //1.创建或得到对应当前行的一个viewHolder对象 ViewHolder holder = null; //如果没有 if (convertView==null) { // 加载Item的布局,得到的view对象 convertView = View.inflate(context,R.layout.item_main, null); holder=new ViewHolder(); holder.imageView=(ImageView) convertView.findViewById(R.id.iv_item_icon); holder.textView=(TextView) convertView.findViewById(R.id.tv_item_name); //将holder对象保存到convertView上 convertView.setTag(holder); } else{ //根据position设置对应的数据 //得到当前行的数据对象 holder = (ViewHolder) convertView.getTag(); } //3.给viewHolder对象设置数据 holder.imageView.setImageResource(icons[position]); holder.textView.setText(names[position]); return convertView; } class ViewHolder{ ImageView imageView; TextView textView; } }
//成员变量 private GridView gv_main; private MainAdapter adapter; String[] names = new String[]{"手机防盗","通讯卫士","软件管家","流量管理","进程管理","手机杀毒","缓存清理","高级设置","设置中心"}; int[] icons = new int[]{R.drawable.widget01,R.drawable.widget02,R.drawable.widget03,R.drawable.widget04,R.drawable.widget05,R.drawable.widget06,R.drawable.widget07,R.drawable.widget08,R.drawable.widget09,};
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gv_main = (GridView) findViewById(R.id.gv_main); adapter=new MainAdapter(MainActivity.this,names,icons); //设置Adapter显示列表 gv_main.setAdapter(adapter); }
转载于:https://www.cnblogs.com/feng8026/p/9041478.html
相关资源:JAVA上百实例源码以及开源项目