Wednesday, January 3, 2024

How to set default value to spinner dropdown in Android?

 In Android, if you want to set a default value for a `Spinner` dropdown, you can achieve this by adding the default value to the adapter and selecting it programmatically. Here's an example:


import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {
    private Spinner spinner;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        spinner = findViewById(R.id.spinner);
        // Create a list of items for the spinner
        List<String> items = new ArrayList<>();
        items.add("Default Value"); // Add your default value here
        items.add("Item 1");
        items.add("Item 2");
        items.add("Item 3");
        // Create an ArrayAdapter using the string array and a default spinner layout
        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, items);
        // Specify the layout to use when the list of choices appears
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        // Apply the adapter to the spinner
        spinner.setAdapter(adapter);
        // Set the default value as the selected item
        spinner.setSelection(0); // 0 is the index of the default value
        // Set a listener to handle spinner item selection events
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
                // Handle the selected item
                String selectedValue = (String) parentView.getItemAtPosition(position);
                // Do something with the selected value
            }
            @Override
            public void onNothingSelected(AdapterView<?> parentView) {
                // Do nothing here
            }
        });
    }
}


In this example, "Default Value" is added to the list of items, and `spinner.setSelection(0);` is used to set it as the default selected item. Adjust the code based on your specific use case and UI elements.

No comments: