[Bài 2] Hướng dẫn sử dụng Spinner trong Android

              [Bài 2] Hướng dẫn sử dụng Spinner trong Android

Hôm nay, mình hướng dẫn sử dụng Spinner trong Android: cách truyền dữ liệu vào cho Spinner, hiện thị các dữ liệu đó lên để chọn và cuối cùng là gọi sự kiện khi chọn 1 item trên Spinner. Đây là những công cụ của Android hỗ trợ, chúng ta hãy bắt đầu tìm hiểu hết về nó để thuận lợi cho việc lập trình sau này nhé, ngoài công cụ này còn nhiều công cụ khác hỗ trợ cho việc lập trình tốt hơn đang chờ các bạn tìm hiểu. Hôm sau mình sẽ hướng dẫn tiếp cho các bạn. Và bây giờ mình sẽ hướng dẫn các bước làm:

1. Tạo Project mới, rồi vào file .xml (file thiết kế giao diện)  kéo vào 1 Spinner và 1 TextView:
Untitled

2. Sang file .java(file main) khởi tạo 2 đối tượng và 1 mảng chỗi với mỗi phần tử là 1 item của Sprinner:

String a[] = { "Xoài", "Mít", "Ổi", "Mận", "Nho", "Cam", "Măng Cụt", "Sầu Riêng","Chôm Chôm", };
TextView tv;
Spinner spin;

 3. Trong hàm onCreate trong file .java bắt đầu viết code:

       + Lấy đối tượng Spinner ra: 

spin = (Spinner) findViewById(R.id.spinner1);

       + Gán mảng chuỗi vừa tạo ở trên vào Adapter:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
				android.R.layout.simple_spinner_item, a);

            ở câu lệnh này có đoạn android.R.layout.simple_spinner_item là dùng để tạo ra 1 layout chứa các item mà mỗi item này là các phần tử thuộc mảng chỗi a

       + Tiếp theo để hiện cái layout chứa các item đó thì ta dùng câu lệnh:

adapter.setDropDownViewResource(android.R.layout.simple_list_item_multiple_choice);

        + Và bây giờ ta gán cái adapter đó vào cho đối tượng Spinner:

spin.setAdapter(adapter);

        + Nếu bạn muốn khi click vào những item trên Spinner mà nó làm thêm 1 việc gì đó, ví dụ như hiển thị cái tên vừa click đó ra textview thì ta làm như sau:

spin.setOnItemSelectedListener(new SuKien());

           ở đây new SuKien() là 1 class xử lý sự kiện mà ta muốn làm. Bây giờ ta sẽ viết class đó ngay dưới hàm onCreate như sau:

public class SuKien implements OnItemSelectedListener {
        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
		tv = (TextView) findViewById(R.id.textView1);
		tv.setText(a[arg2]);
	}

	@Override
	public void onNothingSelected(AdapterView<?> arg0) {
	}

	}

       Trong class các bạn nhớ kế thừa OnItemSelectedListener để lấy các phương thức đã định nghĩa sẵn, rồi viết xử lý tùy thích.

Sau khi chạy chương trình ta có giao diện như sau:
Untitled1

Khi click vào Spinner sẽ hiện ra được 1 layout chứa các item:
Untitled2

Và khi click vào item Mận sẽ hiện chữ Mận ở textView ở dưới Spinner:
Untitled3

Vậy là xong nhé! các bạn vào đây để tải code