package com.example.android03;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
private AutoCompleteTextView act_main_content;
private ArrayAdapter<String> adapter1;
private String[] data1;
private MultiAutoCompleteTextView act_main_multi=null;
private Spinner sp_main_sel;
private SimpleAdapter adapter;
private List<Map<String,Object>> data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
act_main_content=findViewById(R.id.act_main_content);
act_main_multi=findViewById(R.id.act_main_multi);
sp_main_sel=findViewById(R.id.sp_main_sel);
//数据元
data1=new String[]{ "愤怒的小鸟", "汤姆猫", "落汤鸡", "牛牛", "哈巴狗", "神龙", "烤鸭",
"小象", "美人鱼", "九尾狐" };
//MultiAutoCompleteTextView
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data1);
act_main_multi.setAdapter(adapter1);
// 设置逗号为分隔符
act_main_multi.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
//AutoCompleteTextView
adapter1=new ArrayAdapter(this,R.layout.act_main_item,data1);
act_main_content.setAdapter(adapter1);
//Spinner
data=loadData();
adapter=new SimpleAdapter(this,data,R.layout.sp_main_item,new String[]{"image","cname" },new int[]{R.id.sp_main_item_img,R.id.tv_main_item_content});
sp_main_sel.setAdapter(adapter);
}
private List<Map<String,Object>> loadData() {
List<Book> books=new BookDAO().list();
List<Map<String,Object>> maps=new ArrayList<>();
for (Book book : books) {
Map<String,Object> map= new HashMap<>();
map.put("image",book.getImage());
map.put("cname",book.getName());
maps.add(map);
}
return maps;
}
}
activity_main
<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"
tools:context=".MainActivity"
android:orientation="vertical">
<MultiAutoCompleteTextView
android:id="@+id/act_main_multi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="输入关键词" />
<AutoCompleteTextView
android:id="@+id/act_main_content"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Spinner
android:id="@+id/sp_main_sel"
android:layout_width="match_parent"
android:layout_height="wrap_content"></Spinner>
</LinearLayout>
sp_main_item
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="100dp">
<ImageView
android:id="@+id/sp_main_item_img"
android:layout_width="100dp"
android:layout_height="match_parent" />
<TextView
android:id="@+id/tv_main_item_content"
android:layout_width="match_parent"
android:textSize="24dp"
android:layout_height="match_parent" />
</LinearLayout>
Spinner-效果图
AutoCompleteTextView-单一提示