Android: Spinner trong Android


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Spinner cho phép bạn chọn một mục từ menu thả xuống.

Ví dụ như menu như hình bên dưới được hiện ra khi bạn nhấn vào spinner:

Spinner
VÍ DỤ SPINNER

Ví dụ

Ví dụ này sẽ hiển thị một danh mục các môn học, bạn có thể chọn một mục từ danh mục.

Sau đây là nội dung của file MainActivity.java:

package v1study.com.spinner;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {

  Spinner spinner;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    spinner = (Spinner) findViewById(R.id.spinner);
    spinner.setOnItemSelectedListener(this);

    ArrayList<String> courses = new ArrayList<String>();
    courses.add("HTML5");
    courses.add("CSS3");
    courses.add("JavaScript");
    courses.add("Bootstrap");
    courses.add("jQuery");
    courses.add("MySQLi");
    courses.add("PHP");

    //To adapter
    ArrayAdapter<String> spinAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, courses);
    spinAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(spinAdapter);
  }

  @Override
  public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
    String item = adapterView.getItemAtPosition(i).toString();
    Toast.makeText(adapterView.getContext(), "Bn đã chn: " + item, Toast.LENGTH_LONG).show();
  }

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

  }
}

Sửa đổi nội dung của file activity_main.xml thành như sau:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context=".MainActivity">

  <TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Courses:"
    android:textColor="#F44336"
    android:textSize="24sp"
    android:textStyle="bold"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintHorizontal_bias="0.05"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.565"/>

  <TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/app_name"
    android:textColor="#4CAF50"
    android:textSize="30sp"
    android:textStyle="bold"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintHorizontal_bias="0.497"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.1"/>

  <ImageView
    android:id="@+id/textView"
    android:layout_width="170dp"
    android:layout_height="170dp"
    android:contentDescription="@string/logo_v1study"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintHorizontal_bias="0.497"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.267"
    app:srcCompat="@drawable/logo_v1_regular"/>

  <Spinner
    android:id="@+id/spinner"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="8dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.619"
    tools:layout_editor_absoluteX="0dp"/>

</androidx.constraintlayout.widget.ConstraintLayout>

Sửa đổi file strings.xml thành như sau:

<resources>
  <string name="app_name">SpinnerV1Study</string>
  <string name="logo_v1study">Logo V1Study</string>
</resources>

Chạy ứng dụng:

Anroid Spinner

Nếu bạn nhấp vào nút spinner sẽ xuất hiện menu như sau:

Spinner

Và khi chọn một item thì sẽ xuất hiện như sau:

Android spinner_result

» Tiếp: TimePicker trong Android
« Trước: ProgressBar trong Android
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!