`
test_angel
  • 浏览: 51694 次
  • 性别: Icon_minigender_2
  • 来自: 西安
社区版块
存档分类
最新评论

设置listview中的某些行不可用的方法

 
阅读更多

    在使用listview的时候可能需要某几条不可用,那我们如何设置呢?

    总结下我的方法:

    先继承adapter,设置一个list,设置不可以使用的index号。

    再重写isEnabled(int index)方法,当index在第一步的list中时,return  false

    为了使不可用的view看起来有灰显的效果,我们可以在getView中设置透明度。

     参考例子如下:

     

public class MySimpleAdapter extends SimpleAdapter{
	
	private int[] indexArray;
	private Context mContext ;
	
	public MySimpleAdapter(Context context,
			List<? extends Map<String, ?>> data, int resource, String[] from,
			int[] to) {
		super(context, data, resource, from, to);
		// TODO Auto-generated constructor stub
	}
	
	public void setItemDisabledIndex(int [] array){
		indexArray = array ;
	}
	
	public int [] getDisableIndex(){
		return indexArray ;
	}
	
	@Override
	public boolean isEnabled(int position) {
		// TODO Auto-generated method stub
//		return super.isEnabled(position);
		if(indexArray!=null){
			for(int i = 0 ; i < indexArray.length; i++){
				if (position == indexArray[i]) {
					return false ;
				}
			}
		}
		return super.isEnabled(position);
		
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		convertView = null ;
		// TODO Auto-generated method stub
		View v = super.getView(position, convertView, parent);
		if(indexArray!=null){
			for (int i = 0; i < indexArray.length; i++) {
				if (position == indexArray[i]) {
					v.setAlpha((float) 0.3);
					break ;
				}
			}
		}
		return v ;
	}
	

}

 

分享到:
评论

相关推荐

    ListView的嵌套,动态设置ListView的高度

    然而,在某些复杂的界面设计中,我们可能需要在一个ListView中嵌套另一个ListView,这就涉及到"ListView嵌套"的技术。这种技术可以用来构建层级结构的数据展示或者创建复杂的布局。本篇文章将详细探讨如何在Android...

    Listview隔色背景设置

    如果需要根据某些条件动态改变背景色,可以在getView()方法中添加相应的判断。例如,如果列表项的状态为“已读”,则背景设为灰色;如果为“未读”,则设为白色。 4. **使用Selector** 另一种方法是使用颜色选择...

    Listview 可自由调整行高 Vb6源码

    在某些应用场景中,可能需要根据需求自定义`ListView`控件中每一行的高度。标题"Listview 可自由调整行高 Vb6源码"所涉及的知识点,就是如何在VB6中通过编程方式修改`ListView`控件的行高。 描述中提到的"纯API的...

    Listview单元格颜色设置

    本文将详细介绍如何在Delphi中实现ListView单元格的颜色设置。 #### 一、理解ListView自定义绘制 在Delphi中,ListView提供了自定义绘制的功能,这使得开发者能够对每个单元格的外观进行精细控制。通过重写`...

    ListView表头和第一列不动上下左右滑动

    - **自定义ListView**: 为了实现固定表头,我们可以创建一个自定义的ListView,通过重写`onScroll()`方法来监听滚动事件。当滚动发生时,检查滚动的方向和距离,然后调整表头的位置,使其保持在顶部。 - **使用第...

    ListView中实现自定义图片背景,无闪烁,背景不随ScrollBar移动

    要使ScrollBar不影响背景,可以在ScrollBar的样式中设置`android:scrollbars="none"`,然后在ListView外层添加一个独立的View作为ScrollBar,通过监听ListView的滚动事件动态调整ScrollBar的位置。 5. **设置...

    固定滑块高度的ListView

    3. 如果需要,可以通过自定义ListView类并添加`setScrollBarSize()`方法,来在代码中动态设置滚动条的高度。 通过以上步骤,我们就能实现一个无论内容多少,滑块高度始终保持一致的ListView,满足特定的UI设计需求...

    winform listview,不可,拖动列头,锁定列头Columns

    然而,在某些应用场景下,我们可能希望禁用用户对`ListView`中列头的拖动操作,或者说是锁定列宽,以避免用户随意改变列宽导致界面布局混乱。本文将详细介绍如何实现这一功能。 #### 关键知识点解析 ##### 1. ...

    listview中添加CheckBox的完美实现

    但是在实际开发中,我们经常需要在 ListView 中添加 CheckBox,以便用户可以选择某些项目。然而,添加 CheckBox 到 ListView 中并不是一件简单的事情,因为它需要解决事件冲突和复用错误的问题。 在本文中,我们将...

    设置ListView的item可以多选

    在某些应用场景中,我们可能需要用户能够选择多个ListView中的项,例如在设置菜单、联系人选择等场景。本篇文章将详细讲解如何实现ListView的多选功能,包括全选、反选以及取消已选操作。 1. **ListView的基础配置*...

    C#实现listview Group收缩扩展的方法

    `SetGroupCollapse`方法遍历ListView的所有分组,为每个分组创建一个`LVGROUP`结构,设置其`state`字段为`COLLAPSED`或`EXPANDED`,然后通过`SendMessage`发送`LVM_SETGROUPINFO`消息来更新分组的状态。 `LVGROUP`...

    Listview 添加 高度不相等的 gridview

    同时,为了防止整个ListView出现滚动问题,还需要在ListView的`onMeasure()`方法中手动测量和设置高度。 4. **使用LinerLayout作为GridView的容器**:通常,GridView内部会使用一个垂直的LinearLayout来管理所有的...

    android ListView中CheckBox使用方法

    6. 适配器的`notifyDataSetChanged()`方法用于通知ListView数据已经改变,ListView会重新绘制受影响的行。然而,频繁调用此方法可能会导致性能问题。为了避免过度绘制,可以使用`notifyItemChanged(int position)`...

    WPF 在listview中如何实现Combobox的下拉菜单绑定Demo

    在某些场景下,我们可能需要在ListView的每一行中嵌入一个ComboBox,以便用户可以针对每条数据进行特定的选择。本教程将详细介绍如何在WPF的ListView中实现ComboBox的下拉菜单绑定。 首先,我们需要了解几个关键...

    禁止用户调整Listview控件列宽

    然而,在某些情况下,我们可能希望禁止用户通过鼠标拖动来调整ListView控件中列的宽度。这可能是为了保持界面的一致性,或者确保特定列的宽度始终保持最佳的数据显示。 实现“禁止用户调整Listview控件列宽”的方法...

    ListView 自动调整列宽

    在某些场景下,为了确保数据的可读性和美观性,我们可能希望`ListView`中的列宽能够根据内容自动调整。本文将详细介绍如何实现`ListView`中列宽的自动调整,并提供两种实现方法。 #### 关键知识点 1. **ListView ...

    listView中添加控制progressbar

    在实际应用中,我们常常需要在ListView的每一项(Item)中加入进度条(ProgressBar),以显示某些任务的执行状态,比如数据加载、下载进度等。本篇文章将详细探讨如何在ListView中添加并控制每个Item中的ProgressBar...

    ListView中的头尾按钮

    在Activity或Fragment中,将创建的Adapter设置给ListView的`setAdapter()`方法。 6. 动态添加或隐藏头尾按钮: 根据需求,你可能需要在某些情况下显示或隐藏头尾按钮。可以通过修改Adapter的数据量或更新按钮的...

    头部固定不动的listview

    在Android开发中,`ListView` 是一个非常常用的组件,用于展示大量的列表数据。然而,有时候开发者需要实现一些更复杂的交互效果,比如一个可扩展的`ListView`(`ExpandableListView`)并带有固定的头部。标题“头部...

    ListView中使用单选和多选效果

    在某些应用场景中,我们可能需要实现ListView中的单选或多选功能,例如在创建问卷调查或设置选项时。本篇文章将详细讲解如何在ListView中实现单选和多选效果。 首先,我们需要了解ListView的基本结构。ListView通常...

Global site tag (gtag.js) - Google Analytics