2

This is the app that I am developing. I am using AutoCompleteTextView.

This is the app

I want to put an X inside it. Can you help me adding that?

Here is my code

MainActivity.class

 package com.example.guidemo3;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.TextView;

public class MainActivity extends Activity {

   AutoCompleteTextView autocomplete;

   String[] stateName = { "France", "Philippines","Brazil", 
      "Italy", "United States"};

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      autocomplete = (AutoCompleteTextView)             
      findViewById(R.id.autoCompleteTextView1);

      ArrayAdapter<String> adapter = new ArrayAdapter<String>  
      (this,android.R.layout.simple_dropdown_item_1line, stateName);

      autocomplete.setThreshold(1);
      autocomplete.setAdapter(adapter);

      autocomplete.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String stateName = autocomplete.getAdapter().getItem(position).toString();

                // Put selected state to intent.
                Intent intent = new Intent(MainActivity.this, NextActivity.class);
                intent.putExtra("selectedState", stateName);

                startActivity(intent);
            }
        });
      TextView cancelButton = (TextView) findViewById(R.id.cancelButton);
      cancelButton.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View view) {
              autocomplete.setText("");
          }
      });


   }
}

activity.xml

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:focusableInTouchMode="true"
    >

   <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/search_view_border"
    android:orientation="horizontal">

    <AutoCompleteTextView
        android:id="@+id/autoCompleteTextView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:ems="20"
        android:hint="Search"
        android:padding="10dp">

        <requestFocus/>
    </AutoCompleteTextView>

    <TextView
        android:id="@+id/cancelButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="  X  "
        android:textColor="#000"/>
</LinearLayout>

</RelativeLayout>
JA Haha
  • 43
  • 2
  • 8
  • Refer [this](http://stackoverflow.com/questions/12576529/android-how-to-put-cross-icon-on-top-of-the-autocomplete-textview). Hope you will help you – Ankita Shah Jan 05 '17 at 13:30
  • I am not using edittext i am only using AutoCompleteTextView . check my codes. – JA Haha Jan 05 '17 at 13:38
  • 1
    checkout [this link](http://stackoverflow.com/questions/31636591/how-can-i-create-clean-button-in-autocompletetextview) for clean Button in AutoCompleteTextView – Amit Vaghela Jan 05 '17 at 13:42

1 Answers1

2

You have to put a LinearLayout around your AutoCompleteTextView Then add your Background to that Layout Place a TextView with an " X " as Text inside that Layout an add an OnClickListener.

    <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/search_view_border"
    android:orientation="horizontal">

    <AutoCompleteTextView
        android:id="@+id/autoCompleteTextView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:ems="20"
        android:background="@android:color/transparent"
        android:hint="Search"
        android:padding="10dp">

        <requestFocus/>
    </AutoCompleteTextView>

    <TextView
        android:id="@+id/cancelButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="  X  "
        android:textColor="@color/colorPrimaryDark"/>
</LinearLayout>

OnClickListener would look like this:

    cancelButton = (TextView) findViewById(R.id.cancelButton);
    cancelButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            autocomplete.setText("");
        }
    });
Erythrozyt
  • 802
  • 6
  • 21