有注釋的地方為主要分析部分(主要**)
//分析主要**
/************
* listview.class 中
* class listview extends abslistview
*/public
class
listview
extends
abslistview
}} /************
abslistview.class 中
*/public
abstract
class
abslistview
extends
adapterview
}@override
public
void
oninvalidated() }}
}/*********************** adapter 的相關類
*baseadapter.class 中
*/public
abstract
class
baseadapter
implements
listadapter, spinneradapter
//註冊觀察者
//"分析2" 時呼叫
public
void
registerdatasetobserver(datasetobserver observer)
//登出觀察者
public
void
unregisterdatasetobserver(datasetobserver observer)
//notify 通知資料改變
public
void
notifydatasetchanged()
}/*****
listadapter.class 中
*/public
inte***ce
listadapter
extends
adapter
/**********************
*datasetobservable.class 中
是observable的子類
可以呼叫mobservers集合
*/public
class
datasetobservable
extends
observable }
}public
void
notifyinvalidated() }}
}/*********
observable.class 中
*/public
abstract
class
observable
synchronized(mobservers)
//新增進list中
mobservers.add(observer);}}
//登出
public
void
unregisterobserver(t observer)
synchronized(mobservers)
//從list中移除
mobservers.remove(index);}}
public
void
unregisterall() }}
ListView 更高效的使用 Adapter
一 adapter adapter是listview和資料來源之間的中間人。當每條資料進入可見區時,adapter會呼叫他的getview 方法,並返回代表具體資料的檢視。滾動的時候頻繁呼叫,支援成千上萬的資料。最簡單的方法,最慢最不實用 public void getview int positi...
ScrollView與ListView的相關問題
在scrollview中套用乙個listview,listview的高度不能全部顯示,這樣就達不到我們所需要的效果,所以在這裡我們需要重新計算listview的高度,網上計算listview的總高度的方法很多,我在這裡總結一下,貼出 public class listviewutil viewgro...
ListView與ScrollView衝突解決方法
眾所周知listview與scrollview都具有滾動能力,對於這樣的view控制項,當scrollview與listview相互巢狀會成為一種問題 問題一 scrollview與listview巢狀導致listview顯示不全面 問題二 scrollview不能正常滑動 解決方式一 scroll...