Post by Admin on Apr 24, 2017 18:22:30 GMT 7
ListView
Sau đây chúng ta sẽ đọc 1 ví dụ về ListView, trong phần lớn ứn dụng, ListView là một loại hiện thị mà chúng ta thấy nhiều. Vì thông tin đưa đến người dùng bây giờ không còn là 1 tùy chọn nữa mà nó là tập hợp nhiều thông tin, nhiều lựa chọn.
Cũng nói thêm, ListView có một sự kiện lắng nghe riêng của nó là OnItemClickListener, điều đó giúp chúng ta không phải quá khó khăn để xác định vị trí, và loại item được click, sau này bạn sẽ làm quen với thể loại ListView mà mỗi item lại là một ViewGroup chứ không đơn giản là TextView như trong ví dụ này.
Sau đây chúng ta sẽ đọc 1 ví dụ về ListView, trong phần lớn ứn dụng, ListView là một loại hiện thị mà chúng ta thấy nhiều. Vì thông tin đưa đến người dùng bây giờ không còn là 1 tùy chọn nữa mà nó là tập hợp nhiều thông tin, nhiều lựa chọn.
package com.holyeyed.ctrlist;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnItemClickListener {
//những item sẽ hiện thị trong list
String[] item = { "con mèo", "con chim", "con rắn", "con quạ", "con cua", "con quỷ" };
//định nghĩa về item sẽ được đưa ra
String[] script = { "là thú bốn chân, ăn chuột", "là thú 2 chân ăn thóc, biết bay",
"là thú không chân, ăn thịt, có độc", "là thú biết bay, báo điềm gỡ, màu đen",
"là thú 8 chân, có càng kẹp, bò ngang", "là thứ tàn độc, xấu xí" };
//cài đặt 1 biến toàn cục ListView
ListView lv;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//khởi tạo ListView cũng dễ thôi
lv = new ListView(this);
//chúng ta cần một array để nhận giá trị item
ArrayList al = new ArrayList();
//hàm for thực hiện lệnh một cách máy móc
for (int i = 0; i < item.length; i++) {
al.add(item[i]);
}
//sau đó chúng ta tạo một ArrayAdapter, vì ListView chỉ nhận Adapter để nhận biết item view
ArrayAdapter la = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, al);
//thiết lập item adapter vào ListView
lv.setAdapter(la);
//chúng ta có một sự kiện lắng nghe riêng trên ListView là onItemClickListener
lv.setOnItemClickListener(this);
//cho hiện thị ra màn hình
setContentView(lv);
}
//thông số của thực thi bao gồm ListView, kiểu của item (ở đây là TextView), vị trí chạm, thời gian chạm
public void onItemClick(AdapterView<?> lv0, View tv0, int index, long lp) {
//cho hiện ra thông báo nhẹ nhàng về loài vật được chọn
Toast.makeText(this, item[index]+" "+script[index],1500).show();
}
}
Cũng nói thêm, ListView có một sự kiện lắng nghe riêng của nó là OnItemClickListener, điều đó giúp chúng ta không phải quá khó khăn để xác định vị trí, và loại item được click, sau này bạn sẽ làm quen với thể loại ListView mà mỗi item lại là một ViewGroup chứ không đơn giản là TextView như trong ví dụ này.