Nháy
chuột phải vào com.bai.baidau, New > Class, đặt tên là forth, finish.
Sửa
đi để nó trông như sau
public class forth extends Activity {
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ac4);
}
}
Dấu đỏ chỗ ac4 kệ
nó, ta tạo nó ngay bây giờ.
Nháy
chuột phải vào folder layout, New > Android XML File, ở cửa sổ bật ra đặt
tên là ac4, finish.
Bây
giờ copy toàn bộ đoạn sau vào file ac4.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:divider="#ff8f40"
android:dividerHeight="1px"
android:lineSpacingExtra="-8dp"
android:singleLine="true"
android:textColor="#00F" >
</ListView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
android:text="Đây là ListView"
android:textColor="#800000"
android:textSize="20sp" />
</LinearLayout>
Bây
giờ vào class forth để code.
Đầu
tiên khai báo ListView, mảng các chữ sẽ cho vào danh sách, cùng adapter
String[] qua = { "Pear","Banana", "Cashew", "Orange", "Water melon", "Peach", "Grape", "Mango", "Plum" };
private
ArrayAdapter<String> adapter;
Sau
đó tham chiếu địa chỉ. Màn hình lúc này như sau.
Thêm
dòng này để khi ta ấn chọn sẽ chỉ có một dòng hiện dấu xanh đã chọn.
lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
Tiếp theo gắn adapter để
show danh sách lên.
adapter = newArrayAdapter<String>(forth.this,
android.R.layout.simple_list_item_checked, qua);
lv.setOnItemClickListener(new
OnItemClickListener() {
@Override
public void
onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
}
});
lv.setAdapter(adapter);
Nhấn
Ctrl+Shift+O để nhập thư viện, sẽ hết lỗi đỏ. Class forth giờ trông như sau.
Quay
lại MainActivity sửa chỗ nút Next b2 thành
Intent in = new Intent(MainActivity.this,forth.class);
startActivity(in);
Chạy
thử, nhấn next, màn hình trông như sau nếu bạn làm đúng hết.
Chạm
thử để thấy dấu xanh và không có gì, đó là vì trong lệnh setOnItemClickListener
ta chưa code gì cả.
Để biết có ấn, ta
sẽ code một cái gì đó, như cho hiện một thông báo Toast kèm số dòng đã ấn ra
màn hình.
int sodong = arg2;
Toast.makeText(forth.this, "Bạn vừa ấn
vào dòng "+sodong,
Toast.LENGTH_SHORT).show();
Bạn
chạy rồi ấn dòng đầu tiên, nó báo bạn vừa dòng 0, đó chính là ý nghĩa của chỉ số
mảng, đối với chương trình, nó hiểu 0 tức là dòng 1, nên để hiện đúng dòng, bạn
tự thêm vào sodong=arg2+1 sẽ đúng.
Thực
tế, bạn có thể bật ra một màn hình mới khi ấn vào dòng, hoặc cứ để chấm xanh,
chỉ lấy số dòng rồi thêm mấy nút ở dưới như xóa dòng chẳng hạn, tùy ứng dụng bạn
muốn làm gì.
Để
mất chữ baidau trên màn hình, bạn thêm dòng sau vào trên dòng setContentView(R.layout.ac4);
requestWindowFeature(Window.FEATURE_NO_TITLE);
Import
thư viện mới vào, rồi chạy thử, sẽ mất tiêu đề cùng con Android xanh ở trên.
Bây
giờ quay lại file ac4.xml, hãy nhìn dòng android:textColor="#00F"
Rõ
ràng ta tô màu xanh mà chữ cứ hiện màu đen là sao? Đó là vì bạn không thể tô
màu chữ cho ListView trong file xml được. Phải làm cách khác, tôi sẽ nói trong
các bài nâng cao sau này.
Như
vậy bài này ta đã làm một Listview cơ bản, nó rất hay dùng trong các ứng dụng
sau này.
No comments:
Post a Comment