使用baseadapter控制listview內的item可用狀態

baseadapter真的是一個很靈活的類,如果摸透了真的能搞定很多的事情


這裏我介紹一下關於使用baseadapter類來控制item狀態

主要涉及到重載函數

@Override
	public boolean isEnabled(int position) {
		// TODO Auto-generated method stub
		
	}

這個函數在baseadapter中默認返回的是true,返回true代表這position位置上的控件是可以使用的,如果返回false則是不可用

系統會循環調用這個函數,所以如果直接返回true或false,那麼所有的item都是這個狀態

所以如果你想讓一部分控件可用,一部分不可用可以這麼寫

@Override
	public boolean isEnabled(int position) {
		// TODO Auto-generated method stub
		if(position == xxx)
			return true;
		else
			return false;
	}

如果你想讓這些item有時候可用,有時候不可用,那麼你需要設置一個布爾值,同時靠刷新重新來調用這個函數,可以這麼寫

@Override
	public boolean isEnabled(int position) {
		// TODO Auto-generated method stub
		if(isItemEnable == true)
			return true;
		else
			return false;
	}
public void changeItemEnable(boolean able)
	{
		isItemEnable = able;
		notifyDataSetChanged();
	}

外部只需要調用changeItemEnable()即可以改變item的可用狀態


就這些了,如果你有更多需求可以繼續思考如何靈活使用baseadapter



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章