Android Drop Down List Without Spinner
Last Updated : Mar 11, 2024
In this article we will show you the solution of android drop down list without spinner, the dependent dropdown concept employs two spinners, the value of one of which is dependent on the value of the other.
A dropdown can be implemented using spinners as they offer a quick way to choose one value from a list.
A spinner's default state displays the value that is currently selected. An option selection menu appears when the spinner is touched, from which the user can choose another value.
In this article, we will use two dropdown menus, with the value of the second menu being directly dependent on the value of the first, i.e.
If the value of the first menu increases, the value of the second menu will also increase, and if the value of the first menu decreases, the value of the second menu will also decrease by the same amount.
Step By Step Guide On Android Drop Down List Without Spinner :-
XML code
<?xml version="1.0" encoding="utf-8"?> <!--Linear layout as parent layout--> <LinearLayout 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:orientation="horizontal" android:padding="16dp" android:gravity="center" android:layout_height="match_parent" tools:context=".MainActivity"> <!-- Dropdown number 1--> <Spinner android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:id="@+id/sp_min" android:layout_marginEnd="6dp" tools:listitem="@layout/item_dropdown" /> <!-- Drop down number 2--> <Spinner android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:id="@+id/sp_max" android:layout_marginStart="6dp" tools:listitem="@layout/item_dropdown" /> </LinearLayout>
XML code
<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/text1" android:textSize="10sp" android:textStyle="bold" android:padding="14dp" android:gravity="center"> </TextView>
Java code
package com.example.dependentdropdown; 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 java.util.ArrayList; public class MainActivity extends AppCompatActivity { Spinner spMin,spMax; ArrayList<String> pricelist=new ArrayList<>(); ArrayList<String> minList=new ArrayList<>(); ArrayList<String> maxList=new ArrayList<>(); ArrayAdapter<String> minAdapter,maxAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); spMin=findViewById(R.id.sp_min); spMax=findViewById(R.id.sp_max); for(int i=1;i<=15;i++) { pricelist.add("\u20b9"+i+"Lac"); if(i>1) { maxList.add("\u20b9"+i+"Lac"); } if(i!=15) { minList.add("\u20b9"+i+"Lac"); } } minAdapter=new ArrayAdapter<>(this,R.layout.item_dropdown,minList); maxAdapter=new ArrayAdapter<>(this,R.layout.item_dropdown,maxList); spMin.setAdapter(minAdapter); spMax.setAdapter(maxAdapter); spMin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View , int position, long id) { maxList.clear(); for(int i=position+1;i<pricelist.size();i++) { maxList.add(pricelist.get(i)); } maxAdapter.notifyDataSetChanged(); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); } }
- New projects can be started.
- A Java activity will be created from scratch.
- You can change the project's name whenever you want. The default files will be activity main.xml and MainActivity.java.
- We then work with the activity main.xml file, navigating to the app > res > layout > activity main.xml and adding the code below to that file.
- Next, while still working with the item dropdown.xml file, go to app > res > layout > right click > new > layout resource file and create a new file called item main.xml.
- Next, we will work with the MainActivity.java file.
- Then, in the MainActivity.java file, add execution code.
- The xml code will explain the project's layout, such as height, width, padding, and context.
- The dropdown number is then added in the code.
- Finally, we add java code to complete the program's execution.
Conclusion :-
In this article, we will use two dropdown menus, with the value of the second menu being directly dependent on the value of the first, i.e.
If the value of the first menu increases, the value of the second menu will also increase, and if the value of the first menu decreases, the value of the second menu will also decrease by the same amount.
I hope this article on android drop down list without spinner helps you and the steps and method mentioned above are easy to follow and implement.