BÀI 8: Adapter& Adapter View.1.
Trang 1BÀI 8: Adapter& Adapter View.
1. Adapter & Adapter View
1.1 Khai ni m c b n ê ơ a
o Adapter: đ i tô ương đi u khi n d ng t p h p, cho phep hi n th ê ê a â ơ ê i thong tin c b n theo d ng danh sach va th c hi n qu n ly thong ơ a a ư ê a tin theo t ng m c riêng bi t.ư u ê
o Cac phương th c quan tr ng trên AdapterView:ư o
• setOnitemClickListener
• setOnItemSelectedListener
o Adapter: Đ i tô ương c s cho phap g n k t cac d li u bên dơ ơ ă ê ư ê ươi lên cac đ i tô ương đi u khi n d ng danh sach ( AdapterView).ê ê a
o Adapter cho phep th c hi n qu n ly giao di n, s lư ê a ê ô ương ch m c i u trên AdapterView va th c hi n truy v n d li u, s p x p d li u.ư ê â ư ê ă ê ư ê
1.2 Cac d ng Adapter a
o Bao g m cac l p th c thi giao th c Adapter:ô ơ ư ư
• ArrayAdapter
• BaseAdapter
• Cursoradpter
• headerViewListAdapter
• ResourceCursorAdapter
• SimpleAdapter
• SimpleCursorAdapter
• SpinnerAdapter
1.3 Cac d ng Adapter a
o Cac phương th c x ly quan tr ng trên Adapter:ư ư o
• Getcount – int
• getItems(int position) – Objects
• getItemsId(int position) – long
• getView(int position, View convertView, ViewGroup parent) – View
2. AutocompleteTextView - MultilAutoCompleteTextView
2.1 AutocompleteTextView
o Đ i tô ương k th a EditText ê ư
o Cho phep xây d ng d li u m u h tr ngư ư ê â ô ơ ươi dung hoan ch nh qua i trinh nh p d li u trên EditText.â ư ê
o Th c hi n xây d ng AutocompleteTextView:ư ê ư
Trang 2• Khai bao d li u m uư ê â
• Khai bao giao di n hi n th cho d li uê ê i ư ê
• Xây d ng Adapter thông qua phư ương th c kh i t o tư ơ a ương ng ư
v i d li u giao di n hi n th ơ ư ê ê ê i
• Thi t l p Adapter cho đ i tê â ô ương AutocompleteTextView
o Vi d xây d ng AutocompleteTextView:u ư
//kh i t o d li u m uơ a ư ê â
Private static final String[] COUNTRIES = new String[]
{“VietNam”,”Belgium”,”France”,”Italy”,”Germany”,”Spain”};
//Xay d ng Adapter thông qua d li u m u va giao di n m uư ư ê â ê â
ArrayAdapter<String>adapter = new ArrayAdapter<String>(this, androi.R.layout.simple_dropdown_item1line, COUNTRIES);
//Tham chi u đi u khi nê ê ê
AutocompleteTextView editCountry = (AutoCompleteTextView)
findViewByld(R.id.editCountry);
//Thi t l p Adapter cho đi u khi nê â ê ê
editCountry.SetAdapter(adapter);
o Đ i tô ương k th a t đ i tê ư ư ô ương AutocompleteTextView
o Cho phep xây d ng d li u m u h tr ngư ư ê â ô ơ ươi dung hoan ch nh qua i trinh nh p li u trên EditText.â ê
o D li u đư ê ươc h tr hoan ch nh nhi u l n, cach nhau b ng m t ô ơ i ê â ă ô Tokenizer
o Th c hi n xây d ng MultiAutocompleteTextViewư ê ư
• Khai bao d li u m uư ê â
• Khai bao giao di n hi n th d li uê ê i ư ê
• Xây d ng Adapter thông qua phư ương th c kh i t o tư ơ a ương ng ư
v i d li u va giao di n hi n th ơ ư ê ê ê i
• Thi t l p Adapter cho đ i tê â ô ương MultiAutocompleteTextView
• Thi t l p đ i tê â ô ương Tokenizer
2.2 MultiAutocompleteTextView
o Vi d xây d ng MultiAutocompleteTextView.u ư
//kh i t o d li u m uơ a ư ê â
Private static final String[] COUNTRIES = new String[]
{“VietNam”,”Belgium”,”France”,”Italy”,”Germany”,”Spain”};
//Xây d ng Adapter thông qua d li u m u va giao di n m uư ư ê â ê â
ArrayAdapter<String>adapter = new ArrayAdapter<String>(this, androi.R.layout.simple_dropdown_item1line, COUNTRIES);
//Tham chi u đi u khi nê ê ê
Trang 3MultiAutocompleteTextView editCountry =
(MultiAutoCompleteTextView)
findViewByld(R.id.editCountry);
//Thi t l p Adapter cho đi u khi nê â ê ê
editCountry.SetAdapter(adapter);
//Thi t l p Tokenizerê â
editCountry.setTokenize(new
MultiCompleteTextView.CommaTokenizer());
3 S d ng Adapter trong AdapterView ư u
o Spinner: đ i tô ương đi u khi n hi n th m t danh m c m t th i ê ê ê i ô u ơ ô ơ
đi m Ngê ươi dung co th l a ch n m t trong nhi u danh m c đ ê ư o ô ê u ê
hi n thê i
o Bao g m 2 ch đ hi n th pop-up l a ch n(spinnerMode):ô ê ô ê i ư o
o Spinner:
• Thu c tinh XML quan tr ng:ô o
spinnerMode: dialog / dropdown
prompt: string
popupBackground: drawable/color
gravity
entries: string-array
• M t s phô ô ương th c quan tr ng:ư o
Setadapter(spinnerAdapter)
SetPrompt(ChaSequence) – SetPrompt(int resId) (Dialog Mode)
setPopupBackGroundResource(int)
setPopupBackGroundDrawable(Drawable)
o Spinner:
• Vi d xây d ng Spinner:u ư
// xây d ng Adapter thông qua d li u tai nguyên va giao di n m u:u ư ê ê â
SpinnerAdapter adapter = new ArrayAdapter.createFromResource(this, R.array.countries, android.R.layout.simple_dropdown_item_1line);
//tham chi u đi u khi nê ê ê
Spinner spinner = (Spinner)findViewByld(R.id.spinner);
//thi t l p adapter cho đi u khi nê â ê ê
Spinner.setAdapter(adapter);
Trang 4o AbsListView: đ i tô ương đi u khi n hi n th danh sach cac danh m c ê ê ê i u
v i thông tin c b n, cho phep th c hi n cac thao tac khac nhau trên ơ ơ a ư ê
t ng danh m c.ư u
o Bao g m 2 ch đ hi n th :ô ê ô ê i
• ListView
• GridView
o AbslistView
• Thu c tinh XML quan tr ng:ô o
ListSelector: drawable
Choicemode: none | singleChoice | multipleChoice | multipleChoiceModal
smootheScrollBar: boolean
fastScrollEnable: boolean
• M t s Interface đa đô ô ươc khai bao s d ng:ư u
TextWatcher
ViewTreeObserver.OnGloballLayoutListener
ViewTreeObserver.OnTouchModeChangeListener
Filter.FilterListener
o ListView
• Thu c tinh XML quan tr ng:ô o
ListSelector: drawable
Divider: drawable
dividerHeight: dimen
entries: string- array
• M t s phô ô ương th c quan tr ng:ư o
setAdapter(Class Extends < T implements Adapter>)
addHeaderView(View) – removeHeaderView(View)
addFooterView(View) – removeFooterView(View)
setSelection(int)
smoothScrollToPositone(int)
o GridView:
• Thu c tinh XML quan t ng:ô o
columnWidth: dimen
gravity: Gravity
hozizontalSpacing: dimen
verticalSpacing:dimen
numColumns: integer
strecthMode: none|SpacingWidth|columnWidth|
spacingWidthUniorm
• M t s phô ô ương th c quan tr ngư o
setColumnWidth(int) – getColumnWidth()
Trang 5 setNumColumn(int) – getNumColumn()
setSelection(int)
smoothScrollToPosition(int)