Create Project
Create new project in Android Studio with steps as below:
Step 1: Input Project Name and Select Project Location
Step 2: Select SDK for Android App
Step 3: Select Default Activity for App
Step 4: Finish create project
Add Strings
Open res\values\strings.xml file and add new string as below:
<resources>
<string name="app_name">Learn Android with Real Apps</string>
<string name="search_category">Search Category...</string>
</resources>
Main Activity Layout
Open res\layout\activity_main.xml file and create layout as below:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<MultiAutoCompleteTextView
android:id="@+id/multiAutoCompleteTextViewCategory"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
Main Activity Class
Add code to MainActivity.java file in android.demo.learnandroidwithrealapps package as below:
package android.demo.learnandroidwithrealapps;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.MultiAutoCompleteTextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private MultiAutoCompleteTextView multiAutoCompleteTextViewCategory;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
loadData();
}
private void initView() {
multiAutoCompleteTextViewCategory = findViewById(R.id.multiAutoCompleteTextViewCategory);
}
private void loadData() {
List<String> categories = new ArrayList<String>();
categories.add("Mobile");
categories.add("Computer");
categories.add("Tivi");
categories.add("Laptop");
categories.add("Desktop");
multiAutoCompleteTextViewCategory.setThreshold(1);
multiAutoCompleteTextViewCategory.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
multiAutoCompleteTextViewCategory.setHint(getText(R.string.search_category));
ArrayAdapter<String> categoryArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.select_dialog_item, categories);
multiAutoCompleteTextViewCategory.setAdapter(categoryArrayAdapter);
multiAutoCompleteTextViewCategory.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
multiAutoCompleteTextViewCategory_onItemClick(adapterView, view, i, l);
}
});
}
private void multiAutoCompleteTextViewCategory_onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
String category = adapterView.getItemAtPosition(i).toString();
Toast.makeText(getApplicationContext(), category, Toast.LENGTH_SHORT).show();
}
}
Structure of Project
Run App
Load MultiAutoCompleteTextView
Search Category with ti Keyword
Search Category with lap Keyword
Search Category with co Keyword
MultiAutoCompleteTextView with All Keywords
Use ItemClick Event of MultiAutoCompleteTextView