我需要AutoCompleteTextView在可编辑格式点击图像图标
问题描述:
在这里我有一个AutoCompleteTextView
和一个图像查看它;是一个箭头放在这AutoCompleteTextView
正好右侧。当我点击该图片图标我需要这个AutoCompleteTextView
是在编辑形式意味着同样的效果,当我们在这个AutoCompleteTextView
我需要AutoCompleteTextView在可编辑格式点击图像图标
<AutoCompleteTextView
android:background="@android:color/transparent"
android:id="@+id/auto"
android:textStyle="bold"
android:hint="Select Location"
android:textColor="#ffffff"
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:dropDownWidth="match_parent"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="dropclick"
android:src="@mipmap/ic_keyboard_arrow_down_black_24dp"/>
</android.support.v7.widget.Toolbar>
答
直接接触,你可以使用EditSpinner自动完成微调库。适配器
<com.reginald.editspinner.EditSpinner
android:id="@+id/autocomplete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:dropDownDrawable="@mipmap/ic_keyboard_arrow_down_black_24dp"
app:dropDownDrawableSpacing="35dp" />
准备:
将它添加到摇篮:
compile 'com.reginald:editspinner:1.0.0'
添加视图以XML文件
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this, R.layout.spinner_item, itemList);
一套适配器将EditSpinner
:
autoCompleteOperationDetail.setAdapter(operationDetailArrayAdapter);
答
通过回答Quessema Aroua是好的,但这是你可以做什么,没有图书馆。
在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"
/>
你可以选择你需要的任何布局,但我的是ConstraintLayout
。
而这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(); }
});
你也应该建立locnames的字符串作为矿山的strings.xml是这样的:在YourActivity代码
<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>
消息部分。 java在这里通过点击AutoCompleteTextView
上的任何地方显示相同的弹出/微调,这消除了使用ImageView
(箭头)的需要,但您需要ImageView
这就是为什么我已将此代码作为消息/评论的原因。
/*autoText1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View arg0) {
autoText1.showDropDown(); }
});*/
由于我直接从我的项目中复制了这个,所以应该根据你的情况替换所有的id /名称。
某些图像为参考
- 这是正常
AutoCompleteTextView
。
这是你在找什么? https://developer.android.com/reference/android/widget/AutoCompleteTextView.html#attr_android:dropDownAnchor – Ivan
你想要一个带有旋钮的'AutoCompleteTextView'?因为如果是的话,我已经将所有代码编写成了我在项目中实现的代码。 –