Thursday, February 25, 2021

Tìm hiểu Spinner trong Android

Trong Android, Spinner cung cấp một cách nhanh chóng để chọn một giá trị từ một tập hợp các giá trị. Android spinners không là gì ngoài danh sách thả xuống được thấy trong các ngôn ngữ lập trình khác. Ở trạng thái mặc định, một con quay hiển thị giá trị hiện được chọn của nó. Nó cung cấp một cách dễ dàng để chọn một giá trị từ danh sách các giá trị.

Trong Từ ngữ Đơn giản, chúng ta có thể nói rằng một con quay giống như một hộp kết hợp AWT hoặc một cái xoay, nơi chúng ta có thể chọn một mục cụ thể từ danh sách các mục. Spinner Android là một lớp con của lớp AsbSpinner.

Tìm hiểu Spinner trong Android

Lưu ý quan trọng: Spinner Android được liên kết với chế độ xem Bộ điều hợp, vì vậy để điền dữ liệu vào con quay, chúng ta cần sử dụng một trong các lớp Bộ điều hợp.

Đây là mã cơ bản XML cho Spinner:

<Spinner

android:id="@+id/simpleSpinner "

android:layout_width="fill_parent"

android:layout_height="wrap_content" />

Lưu ý quan trọng: Để điền dữ liệu vào một con quay, chúng ta cần triển khai một lớp Adapter. Spinner chủ yếu được sử dụng để chỉ hiển thị trường văn bản để chúng ta có thể triển khai Adapter mảng cho điều đó. Chúng tôi cũng có thể sử dụng Bộ điều hợp cơ sở và các bộ điều hợp tùy chỉnh khác để hiển thị một spinner với danh sách tùy chỉnh nhiều hơn. Giả sử nếu chúng ta cần hiển thị một textview và một imageview trong danh sách mục spinner thì bộ điều hợp mảng là không đủ cho điều đó. Ở đây chúng ta phải triển khai bộ điều hợp tùy chỉnh trong lớp của chúng ta. Hình ảnh Spinner và Custom Spinner dưới đây sẽ làm rõ hơn.

ArrayAdapter

Adapter là cầu nối giữa thành phần UI và nguồn dữ liệu giúp chúng tôi điền dữ liệu vào thành phần UI. Nó giữ dữ liệu và gửi dữ liệu đến chế độ xem bộ điều hợp sau đó chế độ xem có thể lấy dữ liệu từ chế độ xem adapter và hiển thị dữ liệu trên các chế độ xem khác nhau như chế độ xem danh sách, chế độ xem lưới, trục xoay. Bất cứ khi nào bạn có một danh sách các mục duy nhất được hỗ trợ bởi một mảng, bạn có thể sử dụng Arrayadapter.

Dưới đây là code custom Arrayadapter trong Android

ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects)

Tôi sẽ giới thiệu qua về cách sử dụng ArrayAdapter trong Spinner

Nội dung

Ví dụ sử dụng spinner trong Android

Dưới đây là ví dụ trong đó chúng tôi hiển thị danh sách tên ngân hàng trong một vòng quay và bất cứ khi nào bạn chọn một mục, giá trị sẽ được hiển thị bằng cách sử dụng bánh mì nướng trên màn hình Di động. Dưới đây là đầu ra và mã cuối cùng:

Bước 1:

Tạo một project trong Android studio

Select File -> New -> New Project ->. Fill the forms and click "Finish" button.

Bước 2: Thực hiện các bước sau đây để tạo một layout activity

Open res -> layout -> activity_main.xm

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=".MainActivity">

<Spinner

android:id="@+id/simpleSpinner"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

android:layout_marginTop="100dp" />

</RelativeLayout>

Bước 3: Tạo một class MainActivity.class

public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener{

String[] bankNames={"BOI","SBI","HDFC","PNB","OBC"};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//Getting the instance of Spinner and applying OnItemSelectedListener on it

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

spin.setOnItemSelectedListener(this);

//Creating the ArrayAdapter instance having the bank name list

ArrayAdapter aa = new ArrayAdapter(this,android.R.layout.simple_spinner_item,bankNames);

aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

//Setting the ArrayAdapter data on the Spinner

spin.setAdapter(aa);

}

//Performing action onItemSelected and onNothing selected

@Override

public void onItemSelected(AdapterView<?> arg0, View arg1, int position,long id) {

Toast.makeText(getApplicationContext(), bankNames[position], Toast.LENGTH_LONG).show();

}

@Override

public void onNothingSelected(AdapterView<?> arg0) {

// TODO Auto-generated method stub

}

}

Kết quả:

Bây giờ, chạy chương trình trong Emulator và bạn sẽ thấy các tùy chọn để chọn trong số các tên ngân hàng có trong danh sách thả xuống. Bạn cũng sẽ thấy thông báo Toast hiển thị trên màn hình khi bạn chọn ngân hàng cụ thể.

No comments:

Post a Comment