Ver 1.0 – 2016, FIT - HCMUP<br />
<br />
Lab 06: GridView abd Other Control<br />
<br />
1 GridView<br />
GridView là một viewgroup, nó hiển thị các phần tử con trên một lưới cuộn 2 chiều.<br />
<br />
Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM<br />
<br />
1<br />
<br />
Ver 1.0 – 2016, FIT - HCMUP<br />
<br />
1.1<br />
<br />
Lab 06: GridView abd Other Control<br />
<br />
GridItem<br />
Một GridView được tạo từ một danh sách các GridItem. GridItem là một ô (cell) riêng lẻ<br />
trong gridview nơi mà dữ liệu sẽ được hiển thị. Bất kỳ dữ liệu nào trong GridView chỉ được<br />
hiển thị thông qua GridItem.<br />
Một GridItem là một mảnh giao diện, nó có thể được làm bởi một số View.<br />
<br />
1.2<br />
<br />
Ví dụ GridView với ArrayAdapter<br />
<br />
1.2.1 Tạo giao diện<br />
Tạo mới một Android project có tên SimpleGridView.<br />
Thiết kế giao diện và thay đổi các thuộc tính GridView<br />
<br />
<br />
<br />
<br />
columnWidth: 120<br />
gravity<br />
o center: <br />
numColumns: auto_fit<br />
<br />
Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM<br />
<br />
2<br />
<br />
Ver 1.0 – 2016, FIT - HCMUP<br />
<br />
Lab 06: GridView abd Other Control<br />
<br />
1.2.2 Thiết kế lớp Website tương ứng một item<br />
public class Website {<br />
private String name;<br />
private String url;<br />
public String getName() {<br />
return name;<br />
}<br />
public void setName(String name) {<br />
this.name = name;<br />
}<br />
public String getUrl() {<br />
return url;<br />
}<br />
public void setUrl(String url) {<br />
this.url = url;<br />
}<br />
@Override<br />
public String toString() {<br />
return name;<br />
}<br />
public Website(String name, String url) {<br />
this.name = name;<br />
this.url = url;<br />
}<br />
}<br />
<br />
1.2.3 Gắn hàm xử lý trong ActivityMain<br />
final GridView gridView = (GridView)findViewById(R.id.gridView);<br />
ArrayList websitelist = new ArrayList();<br />
websitelist.add(new Website("Google", "http://google.com.vn"));<br />
websitelist.add(new Website("FIT, HCMUE", "http://fit.hcmup.edu.vn"));<br />
websitelist.add(new Website("HCMUE", "http://hcmup.edu.vn"));<br />
websitelist.add(new Website("HIENLTH", "http://fit.hcmup.edu.vn/~hienlth"));<br />
websitelist.add(new Website("Tuổi trẻ", "http://tuoitre.vn"));<br />
websitelist.add(new Website("Zing News", "http://zing.vn"));<br />
ArrayAdapter arrayAdapter = new ArrayAdapter(this,<br />
android.R.layout.simple_list_item_1 , websitelist);<br />
gridView.setAdapter(arrayAdapter);<br />
Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM<br />
<br />
3<br />
<br />
Ver 1.0 – 2016, FIT - HCMUP<br />
<br />
Lab 06: GridView abd Other Control<br />
<br />
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {<br />
@Override<br />
public void onItemClick(AdapterView parent, View view, int position, long id) {<br />
Website website = (Website) gridView.getItemAtPosition(position);<br />
Toast.makeText(MainActivity.this, "Vừa chọn :" + " " + website.getName() + "\n(" +<br />
website.getUrl() + ")",Toast.LENGTH_LONG).show();<br />
}<br />
});<br />
<br />
1.2.4 Kết quả chạy chương trình:<br />
<br />
1.3<br />
<br />
Tạo GridView với Layout tùy chỉnh<br />
<br />
1.3.1 Tạo mới Layout cho GridView Item:<br />
<br />
Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM<br />
<br />
4<br />
<br />
Ver 1.0 – 2016, FIT - HCMUP<br />
<br />
Lab 06: GridView abd Other Control<br />
<br />
Tên file giao diện: my_item.xml<br />
<br />
Phần code xml:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM<br />
<br />
5<br />
<br />