很简单的啦:
public class GenerateItemViewOfGroup extends BaseAdapter
{
private Context mContext;
private List<String> listOfGroup;
private int sizeOfGroupList;
public GenerateItemViewOfGroup(Context context, List<String> listOfGroup)//将数据传递进来
{
mContext = context;
this.listOfGroup = listOfGroup;
sizeOfGroupList = listOfGroup.size();
}
class ViewHolder
{
TextView tvGroupName;//分组的名字
LinearLayout llGroupBg;//item的背景
}
/**
*
*
* */
public View getView(int position, View convertView, ViewGroup parent)
{
ViewHolder viewHolder;
if(convertView == null)//组件重用!!!给力啊!
{
LayoutInflater myInflater = LayoutInflater.from(mContext);
convertView = myInflater.inflate(R.layout.contact_group_list_item_default, null);//取出每一项的模板
viewHolder = new ViewHolder();
viewHolder.llGroupBg = (LinearLayout)convertView.findViewById(R.id.cglid_ll);
viewHolder.tvGroupName = (TextView)convertView.findViewById(R.id.cglid_tv_content);
convertView.setTag(viewHolder);
}
else
{
viewHolder = (ViewHolder)convertView.getTag();
}
String groupName = listOfGroup.get(position);
viewHolder.tvGroupName.setText(groupName);
return convertView;
}
/**
*要返回的Item的数量,要是是0,就不会显示出来了
*/
public int getCount() {
// TODO Auto-generated method stub
return sizeOfGroupList;
}
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
}
使用
List<String> listOfGroup = AddANewGroup.queryCurrentGroupInfo(this);//获得数据源
GenerateItemViewOfGroup myItemView = new GenerateItemViewOfGroup(this, listOfGroup);
lvOfGroup.setAdapter(myItemView);
分享到:
相关推荐
`getView()`是关键,用于生成并设置每个item的视图。 二、动态添加item 1. 在代码中,首先确保数据源(ArrayList)已经初始化,然后可以使用`add()`方法向其中添加新的`MyItem`对象。 2. 通知Adapter数据集已改变,...
ListView通过Adapter来绑定数据源,它会根据数据源生成对应的View(也就是ListView的子项)。当用户点击ListView的某一项时,系统并不会自动改变选中项的颜色,所以我们需要自定义处理这一逻辑。 1. **自定义...
- `getView(int position, View convertView, ViewGroup parent)`: 这是关键方法,用于生成或复用ListView的每个Item视图。在这里,我们可以根据数据对象创建或修改视图。 3. **视图复用(convertView)**: 为了...
在这个类中,我们需要重写`getView()`方法,这是Adapter为ListView生成每个视图的地方。 在`getView()`方法中,我们将根据列表项的状态(是否被点击)来设置背景颜色。通常,我们可以使用一个布尔值数组来跟踪每个...
自定义Adapter继承自BaseAdapter或ArrayAdapter,重写`getView()`方法,此方法负责根据数据生成并返回每个item的View。在`getView()`中,我们可以根据item的状态来设置View的选中样式。 5. **ViewHolder模式** - ...
此外,熟练掌握`Adapter`的用法,包括如何在`getView()`中根据数据动态生成`View`,以及如何处理点击事件。 在`ItemClickExpandDemo`这个项目中,你应该能看到相关的代码示例。通常,项目会包含一个自定义的`...
`getView()`方法负责为ListView的每个Item生成对应的View。在这个方法里,我们可以获取到TextView对象,然后设置它的颜色。 以下是一个简单的自定义适配器示例: ```java public class CustomAdapter extends ...
首先,`ListView`的每个条目通常由一个自定义的`Adapter`来创建,这个`Adapter`会根据数据源生成对应的视图(View)。在这个例子中,我们需要在每个条目上添加一个CheckBox,以便用户可以选中它们。这通常需要自定义...
这个"ListView 中的item随意拖动.zip"文件包含了一个实现ListView项拖放功能的示例项目,非常适合学习和理解如何在Android中实现自定义的交互效果。在这个项目中,我们可以看到几个关键的组成部分,包括XML布局文件...
你需要创建一个自定义的Adapter,继承自BaseAdapter或ArrayAdapter,然后在getView()方法中,根据数据生成并返回ListView的每个item视图,包括CheckBox。 9. **数据绑定**:在Adapter的getView()方法中,根据数据项...
当ListView滚动时,它会复用已经滑出屏幕的item视图,通过Adapter的getView()方法更新这些视图以显示新的数据。因此,实现ListView的不同布局,关键在于正确地重写getView()方法。 在"listView item不同布局demo"中...
适配器中的关键部分是`getView()`方法,它负责为每个ListView项生成视图。在这里,我们可以根据滑动状态动态改变每个Item的布局。 ```java public class SlideRemoveAdapter extends BaseAdapter { private ...
在Adapter的`getView()`方法中,我们将为每个ListView Item加载XML布局,并将数据填充到对应的View组件中。`convertView`参数用于重用已存在的View,以提高性能。 ```java @Override public View getView(int ...
- `getView(int position, View convertView, ViewGroup parent)`:这是核心方法,负责为每个Item生成View。在这里,我们将根据数据类型决定使用哪种布局。 2. **判断Item类型**: 在`getView()`方法中,我们需要...
在ListView的Adapter中,我们需要重写getView()方法,根据当前item的位置和记录的展开item来调整菜单的可见性。 ```java public class CustomAdapter extends ArrayAdapter<String> { private int ...
在自定义Adapter时,你需要重写`getView()`方法,此方法负责为ListView生成每个Item的视图。 2. **布局管理**:ListView的样式可以通过设置Item的布局文件来定制。例如,可以包含图像、文本、按钮等元素,通过`...
1. **创建ListView的Adapter**:你需要创建一个自定义的Adapter,它负责生成ListView的每个Item视图。在Adapter的getView方法中,为每个Item的图片设置点击监听器。 2. **图片点击事件处理**:在点击事件监听器中,...
- `getView()`方法中,不仅创建外层ListView的item,还要动态生成内层ListView并设置其适配器。 4. **性能优化**: - 使用ViewHolder设计模式可以提高ListView的滚动性能,减少视图复用时的查找成本。 - 内层...
自定义Adapter时,我们需要重写`getView()`方法,该方法用于为ListView生成列表项视图。在`getView()`中,我们可以根据数据创建并填充视图组件。 **3. 数据绑定** 通过调用ListView的`setAdapter()`方法,我们可以...
本知识点主要讲解如何实现ListView的多级展示,其中每个列表项(Item)的数据由一个名为Leaf的对象提供,并且能够根据需求设置多个不同的控件。这通常涉及到自定义适配器(Adapter)和视图复用(View Recycling)的...