`

ListView getView生成Item

 
阅读更多

很简单的啦:

 

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);
 

 

 

 

分享到:
评论

相关推荐

    ListView动态添加、移除item

    `getView()`是关键,用于生成并设置每个item的视图。 二、动态添加item 1. 在代码中,首先确保数据源(ArrayList)已经初始化,然后可以使用`add()`方法向其中添加新的`MyItem`对象。 2. 通知Adapter数据集已改变,...

    ListView选中item颜色改变

    ListView通过Adapter来绑定数据源,它会根据数据源生成对应的View(也就是ListView的子项)。当用户点击ListView的某一项时,系统并不会自动改变选中项的颜色,所以我们需要自定义处理这一逻辑。 1. **自定义...

    自定义listview的item控件

    - `getView(int position, View convertView, ViewGroup parent)`: 这是关键方法,用于生成或复用ListView的每个Item视图。在这里,我们可以根据数据对象创建或修改视图。 3. **视图复用(convertView)**: 为了...

    listview点击后改变item颜色

    在这个类中,我们需要重写`getView()`方法,这是Adapter为ListView生成每个视图的地方。 在`getView()`方法中,我们将根据列表项的状态(是否被点击)来设置背景颜色。通常,我们可以使用一个布尔值数组来跟踪每个...

    listview item 选择问题

    自定义Adapter继承自BaseAdapter或ArrayAdapter,重写`getView()`方法,此方法负责根据数据生成并返回每个item的View。在`getView()`中,我们可以根据item的状态来设置View的选中样式。 5. **ViewHolder模式** - ...

    ListView Item点击展开隐藏项

    此外,熟练掌握`Adapter`的用法,包括如何在`getView()`中根据数据动态生成`View`,以及如何处理点击事件。 在`ItemClickExpandDemo`这个项目中,你应该能看到相关的代码示例。通常,项目会包含一个自定义的`...

    listview改变item文本的颜色的实例

    `getView()`方法负责为ListView的每个Item生成对应的View。在这个方法里,我们可以获取到TextView对象,然后设置它的颜色。 以下是一个简单的自定义适配器示例: ```java public class CustomAdapter extends ...

    安卓listview相关相关-AndroidListView实现长按Item弹出CheckBox和操作界面进行批量删除功能模仿某播放器.rar

    首先,`ListView`的每个条目通常由一个自定义的`Adapter`来创建,这个`Adapter`会根据数据源生成对应的视图(View)。在这个例子中,我们需要在每个条目上添加一个CheckBox,以便用户可以选中它们。这通常需要自定义...

    ListView 中的item随意拖动.zip

    这个"ListView 中的item随意拖动.zip"文件包含了一个实现ListView项拖放功能的示例项目,非常适合学习和理解如何在Android中实现自定义的交互效果。在这个项目中,我们可以看到几个关键的组成部分,包括XML布局文件...

    listview+checkbox选中删除,全选,item点击

    你需要创建一个自定义的Adapter,继承自BaseAdapter或ArrayAdapter,然后在getView()方法中,根据数据生成并返回ListView的每个item视图,包括CheckBox。 9. **数据绑定**:在Adapter的getView()方法中,根据数据项...

    listView item不同布局demo

    当ListView滚动时,它会复用已经滑出屏幕的item视图,通过Adapter的getView()方法更新这些视图以显示新的数据。因此,实现ListView的不同布局,关键在于正确地重写getView()方法。 在"listView item不同布局demo"中...

    滑动删除listview的Item

    适配器中的关键部分是`getView()`方法,它负责为每个ListView项生成视图。在这里,我们可以根据滑动状态动态改变每个Item的布局。 ```java public class SlideRemoveAdapter extends BaseAdapter { private ...

    Android中ListView的每个Item以资源文件XML形式显示数据进行布局

    在Adapter的`getView()`方法中,我们将为每个ListView Item加载XML布局,并将数据填充到对应的View组件中。`convertView`参数用于重用已存在的View,以提高性能。 ```java @Override public View getView(int ...

    Android中ListView多种Item布局的实现

    - `getView(int position, View convertView, ViewGroup parent)`:这是核心方法,负责为每个Item生成View。在这里,我们将根据数据类型决定使用哪种布局。 2. **判断Item类型**: 在`getView()`方法中,我们需要...

    ListView点击Item展开菜单实现代码详解

    在ListView的Adapter中,我们需要重写getView()方法,根据当前item的位置和记录的展开item来调整菜单的可见性。 ```java public class CustomAdapter extends ArrayAdapter&lt;String&gt; { private int ...

    androidの多种风格listview不同案例积累使用

    在自定义Adapter时,你需要重写`getView()`方法,此方法负责为ListView生成每个Item的视图。 2. **布局管理**:ListView的样式可以通过设置Item的布局文件来定制。例如,可以包含图像、文本、按钮等元素,通过`...

    点击listView中的图片,在HorizontalScrollView显示出来,在点击item,图片消失

    1. **创建ListView的Adapter**:你需要创建一个自定义的Adapter,它负责生成ListView的每个Item视图。在Adapter的getView方法中,为每个Item的图片设置点击监听器。 2. **图片点击事件处理**:在点击事件监听器中,...

    嵌套LISTVIEW嵌套adapter

    - `getView()`方法中,不仅创建外层ListView的item,还要动态生成内层ListView并设置其适配器。 4. **性能优化**: - 使用ViewHolder设计模式可以提高ListView的滚动性能,减少视图复用时的查找成本。 - 内层...

    操作ListView控件源码

    自定义Adapter时,我们需要重写`getView()`方法,该方法用于为ListView生成列表项视图。在`getView()`中,我们可以根据数据创建并填充视图组件。 **3. 数据绑定** 通过调用ListView的`setAdapter()`方法,我们可以...

    ListView多级展示,item由对象Leaf提供数据,可设置多个控件

    本知识点主要讲解如何实现ListView的多级展示,其中每个列表项(Item)的数据由一个名为Leaf的对象提供,并且能够根据需求设置多个不同的控件。这通常涉及到自定义适配器(Adapter)和视图复用(View Recycling)的...

Global site tag (gtag.js) - Google Analytics