Antwort von Quessema Aroua ist gut, aber hier ist, was Sie ohne eine Bibliothek tun können.
Implementieren Sie diesen Code in XML.
<AutoCompleteTextView
android:layout_width="0dp"
android:layout_height="30dp"
android:hint="@string/source"
android:id="@+id/actv5"
app:layout_constraintTop_toBottomOf="@+id/actv4"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:background="@drawable/side_nav_bar"
android:textAlignment="center"
android:gravity="center"
android:layout_marginTop="50dp"
android:dropDownHeight="155dp"
android:cursorVisible="false"/>
<ImageView
android:layout_width="35dp"
android:layout_height="35dp"
android:id="@+id/imv2"
android:src="@drawable/ic_keyboard_arrow_down_black_24dp"
app:layout_constraintTop_toTopOf="@+id/actv5"
app:layout_constraintBottom_toBottomOf="@+id/actv5"
app:layout_constraintRight_toRightOf="@+id/actv5"
/>
können Sie wählen, was Layout, das Sie brauchen, aber mir ist ConstraintLayout
.
Und das in YourActivity.java
locnames = getResources().getStringArray(R.array.Loc_names);
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(
this, android.R.layout.simple_spinner_dropdown_item,
locnames);
autoText1 =(AutoCompleteTextView) findViewById(R.id.actv4);
autoText1.setAdapter(arrayAdapter);
autoText1.setThreshold(1);
autoText1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//autoText1.showDropDown();
hideKeyBoard(view);
//String selection = (String) parent.getItemAtPosition(position);
selected = position;
}
});
/*autoText1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View arg0) {
autoText1.showDropDown(); }
});*/
ImageView imageView = (ImageView) findViewById(R.id.imv1);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View arg0) {
autoText1.showDropDown(); }
});
Außerdem sollten Sie einen String von locnames wie in Mine in strings.xml wie dieses Set-up:
<string-array name="Loc_names">
<item>India</item>
<item>America</item>
<item>Germany</item>
<item>Russia</item>
<item>Australia</item>
<item>China</item>
</string-array>
Der Nachrichtenteil in Code von YourActivity. Java zeigt hier den gleichen Pop-up/Spinner, indem Sie irgendwo auf die AutoCompleteTextView
klicken, die die Notwendigkeit der Verwendung einer ImageView
(Pfeil) entfernt, aber Sie wollen eine ImageView
deshalb habe ich diesen Code eine Nachricht/Kommentar gemacht.
Da ich dies direkt von meinem Projekt kopiert habe, sollten Sie alle IDs/Namen nach Ihnen ersetzen.
Einige Bilder als Referenz
- Das ist normal
AutoCompleteTextView
.
- Dies ist
AutoCompleteTextView
mit einem Spinner
.
- Dies ist AutoCompleteTextView mit etwas Text eingegeben und Text im Spinner gefiltert.
ist das wonach Sie suchen? https://developer.android.com/reference/android/widget/AutoCompleteTextView.html#attr_android:dropDownAnchor – Ivan
Sie möchten eine 'AutoCompleteTextView' mit einem Spinner ?? denn wenn ja dann habe ich den ganzen Code geschrieben wie ich ihn in meinem Projekt implementiert habe. –