Spinner (Dropdown) ใน Android: เพิ่ม Item และจัดการ Event
Spinner = Dropdown Selector ใช้เลือก 1 รายการจากหลายรายการ
ขั้นตอนที่ 1: Layout XML
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:prompt="@string/app_name" />
ขั้นตอนที่ 2: MainActivity.java - Setup Data & Adapter
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Spinner spinner = findViewById(R.id.spinner);
// Data Source
List<String> items = Arrays.asList(
"JAVA", "ANDROID", "C Language", "CPP Language", "Go Language", "AVN SYSTEMS"
);
// Adapter (ใช้ Built-in Layout)
ArrayAdapter<String> adapter = new ArrayAdapter<>(
this,
android.R.layout.simple_spinner_item, // Layout สำหรับ Selected View
items
);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // Layout สำหรับ Dropdown List
// Set Adapter
spinner.setAdapter(adapter);
// Item Selected Listener
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String selected = parent.getItemAtPosition(position).toString();
Toast.makeText(MainActivity.this, "Selected: " + selected, Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// ไม่มี Item ถูกเลือก (หายาก)
}
});
}
}
Built-in Spinner Layouts
| Layout | Usage |
|---|---|
| simple_spinner_item | Selected Item View (Default: TextView) |
| simple_spinner_dropdown_item | Dropdown List Item (Default: CheckedTextView) |