我需要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> 
+0

这是你在找什么? https://developer.android.com/reference/android/widget/AutoCompleteTextView.html#attr_android:dropDownAnchor – Ivan

+0

你想要一个带有旋钮的'AutoCompleteTextView'?因为如果是的话,我已经将所有代码编写成了我在项目中实现的代码。 –

直接接触,你可以使用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 /名称。

某些图像为参考

  1. 这是正常AutoCompleteTextView

enter image description here

  1. 这是AutoCompleteTextViewSpinner
  2. enter image description here

    1. 这是AutoCompleteTextView一些文本输入和文本 在所说的纺丝器过滤。 enter image description here
    开始=>
开始=>