GridView实现九宫格
2016-02-23 20:44
225 查看
首先,定义布局文件,代码如下:
<!--设置为3列-->
[/code]
然后再代码中实例化,先自定义adapter类HomeAdapter,实现BaseAdapter的四个必须实现的方法。其中,getView最为重要,主要实现步骤:
1.判断convertView是否存在;
2.如果存在则不再需要填充View;
3.如果不存在则需要填充新的View,核心代码:
[/code]
//如果convertView不存在,则填充新的View
[/code]
<GridView
android:id="@+id/home_gv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
<!--每个格子的水平间距-->
android:horizontalSpacing="10dp"
<!--设置为3列-->
android:numColumns="3"
<!--每个格子的竖直间距-->
android:verticalSpacing="10dp"
/>
[/code]
然后再代码中实例化,先自定义adapter类HomeAdapter,实现BaseAdapter的四个必须实现的方法。其中,getView最为重要,主要实现步骤:
1.判断convertView是否存在;
2.如果存在则不再需要填充View;
3.如果不存在则需要填充新的View,核心代码:
LayoutInflater mInflater;
mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.home_item, null);
[/code]
private void initView() {
GridView list_home = (GridView) findViewById(R.id.home_gv);
//设置适配器
list_home.setAdapter(new HomeAdapter());
}
/**
* 主界面按钮的adapter
*
*@author CR.MO
*
*/
private class HomeAdapter extends BaseAdapter {
@Override
public View getView(int position, View convertView, ViewGroup parent){
//如果convertView不存在,则填充新的View
if (convertView == null) {
LayoutInflater mInflater;
mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.home_item, null);
}
TextView tv_name = (TextView) convertView.findViewById(R.id.home_item_name);
tv_name.setText(names[position]);
return convertView;
}
@Override
public int getCount() {
return names.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
}
[/code]
相关文章推荐
- python正则表达式练习篇2
- struts2中action接收参数的方法
- python(一)端口扫描器(一)
- 必备 | 毕业后,10个高效学习途径,你知道吗?
- Linux 相关博文链接和知识汇总
- Struts2校验器(二)之注解
- bzoj3572: [Hnoi2014]世界树
- 龙星计划-机器学习分享
- java中只有值传递没有引用传递
- 初探Backbone.js
- jQuery中mouseover和mouseout冒泡产生闪烁问题
- Android:Service通知Activity更新界面
- MySQL连表操作和GROUP_CONCAT函数的使用
- Struts2校验器(一)之规格文件
- eclipse ctrl+左键进入xml文件
- leetcode-1 Two Sum 找到数组中两数字和为指定和
- ACCESS导入CSV文件出现乱码解决办法
- R - 递推
- YTU 2443: C++习题 复数类--重载运算符3+
- [Jackson] @JsonView的使用