Android edittext с выпадающим списком

У меня есть edittext, который получает значения от пользователя. Я хочу добавить опцию, которая позволяет пользователю выбирать из разных вариантов через раскрывающийся список при нажатии edittext. Кто-нибудь есть идея, как это сделать?

Это код edittext:

<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPersonName" android:ems="10" android:id="@+id/dish_quantity" android:layout_below="@+id/dish_name" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:hint="Quantity" /> 

Я хочу, чтобы это выглядело так:

Введите описание изображения здесь

Я думаю, что это ваше требование:

Просто следуйте этому примеру: Xml: –

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <AutoCompleteTextView android:id="@+id/languages" android:layout_width="fill_parent" android:layout_height="wrap_content"></AutoCompleteTextView> </LinearLayout> 

Мероприятия:-

 import android.app.Activity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; public class MainActivity extends Activity { String[] languages = { "C","C++","Java","C#","PHP","JavaScript","jQuery","AJAX","JSON" }; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //Create Array Adapter ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.select_dialog_singlechoice, languages); //Find TextView control AutoCompleteTextView acTextView = (AutoCompleteTextView) findViewById(R.id.languages); //Set the number of characters the user must type before the drop down list is shown acTextView.setThreshold(1); //Set the adapter acTextView.setAdapter(adapter); } } 

Демонстрация: –

Введите описание изображения здесь

На Android это называется autocompletetextview

Официальный документ Google: http://developer.android.com/reference/android/widget/AutoCompleteTextView.html

Пожалуйста, проверьте это, учебник http://www.tutorialspoint.com/android/android_auto_complete.htm

activity_main.xml

 <RelativeLayout xmlns:androclass="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="15dp" android:text="@string/what_is_your_favourite_programming_language_" /> <AutoCompleteTextView android:id="@+id/autoCompleteTextView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/textView1" android:layout_marginLeft="36dp" android:layout_marginTop="17dp" android:ems="10" android:text=""> <requestFocus /> </AutoCompleteTextView> </RelativeLayout> 

MainActivity.java

 import android.os.Bundle; import android.app.Activity; import android.graphics.Color; import android.view.Menu; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; public class MainActivity extends Activity { String[] language ={"C","C++","Java",".NET","iPhone","Android","ASP.NET","PHP"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //Creating the instance of ArrayAdapter containing list of language names ArrayAdapter<String> adapter = new ArrayAdapter<String> (this,android.R.layout.select_dialog_item,language); //Getting the instance of AutoCompleteTextView AutoCompleteTextView actv= (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1); actv.setThreshold(1);//will start working from first character actv.setAdapter(adapter);//setting the adapter data into the AutoCompleteTextView actv.setTextColor(Color.RED); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } } 

Я думаю, что то, что вы ищете, может быть сделано с помощью Spinner вместо EditText.

Вот подробное объяснение того, как его использовать.