上一篇文章已经实现一个GridView,但是本篇文章,是用MVC的思想来实现的
Adapter :
public class gridadapter extends BaseAdapter {
private List<item> list;
private Context context;
public gridadapter(Context contextt, List<item> listt) {
// TODO 自动生成的构造函数存根
this.context = contextt;
this.list = listt;
}
@Override
public int getCount() {
// TODO 自动生成的方法存根
return list.size();
}
@Override
public item getItem(int position) {
// TODO 自动生成的方法存根
return list.get(position);
}
@Override
public long getItemId(int arg0) {
// TODO 自动生成的方法存根
return arg0;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
// TODO 自动生成的方法存根
item it=getItem(position);
View vieww = LayoutInflater.from(context).inflate(R.layout.tiaomu, null);
ImageView iv = (ImageView) vieww.findViewById(R.id.nv);
iv.setBackgroundResource(it.id);
TextView tv=(TextView)vieww.findViewById(R.id.wenzi);
tv.setText(it.namee);
return vieww;
}
}
item 如下:
package com.domain;
public class item {
public int id;
public String namee;
}
入口Activity如下:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GridView gridView= (GridView) findViewById(R.id.gv);
gridadapter adapter=new gridadapter(this, provideData.shuju());
gridView.setAdapter(adapter);
}
provideData类如下:
public class provideData {
public static List<item> shuju() {
List<item> mm = new ArrayList<item>();
for (int i = 0; i < 15; i++) {
item ii = new item();
ii.id = R.drawable.meinv;
ii.namee = "奶茶";
mm.add(ii);
}
return mm;
}
}
主布局文件:
Item布局文件:
最后效果如下:
FR:徐海涛(Hunk Xu) QQ技术群:386476712