学了一个AutoCompleteTextView与适配器,适配器贴个网站就ok了
http://blog.csdn.net/fznpcy/article/details/8658155
AutoCompleteTextView主要还是靠适配器,有两种方式,一种是直接在activity里面设置,一种是在xml里面设置。
另外在AutoCompleteTextView的输入框里,只有输入两个字符之后才会有显示。。。。。。= =
贴代码
MainActivity.java
package com.example.tree;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.*;
import android.view.View.OnClickListener;
import android.view.View.OnKeyListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity implements OnClickListener{
private AutoCompleteTextView textView;
private ArrayAdapter<String> adapter1;//数组适配器
private final String TAG="MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i(TAG, "-onCreate-->>");
textView=(AutoCompleteTextView)this.findViewById(R.id.autoCompleteTextView1);
// adapter1=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getDataSource());//如果不用xml方式,那 //么将这段注释去掉
String[] Countries=getResources().getStringArray(R.array.countries_array);//在xml下
adapter1=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,Countries);//在xml下
textView.setAdapter(adapter1);//将适配器的内容放入autoCompleteTextView中
}
/* public List<String> getDataSource(){//如果不用xml,那么讲这段注释去掉
List<String> list=new ArrayList<String>();
list.add("Afghanistan");
list.add("Albania");
list.add("Algeria");
list.add("American");
list.add("Andorra");
list.add("Angola");
list.add("Anguilla");
list.add("Antarctica");
return list;
}
*/
protected void onStart(){
super.onStart();
Log.i(TAG, "-onStart-->>");
}
protected void onRestart(){
super.onRestart();
Log.i(TAG, "-onRestart-->>");
}
protected void onResume(){
super.onResume();
Log.i(TAG, "-onResume-->>");
}
protected void onPause(){
super.onPause();
Log.i(TAG, "-onPause-->>");
}
protected void onStop(){
super.onStop();
Log.i(TAG, "-onStop-->>");
}
protected void onDestroy(){
super.onDestroy();
Log.i(TAG, "-onDestroy-->>");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
}
ativity_main.xml文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:android1="http://schemas.android.com/apk/res/android"
android:id="@+id/relative"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" >
<AutoCompleteTextView
android1:id="@+id/autoCompleteTextView1"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android1:layout_alignParentLeft="true"
android1:layout_alignParentTop="true"
android1:layout_marginLeft="36dp"
android1:layout_marginTop="40dp"
android1:ems="10" >
<requestFocus />
</AutoCompleteTextView>
</RelativeLayout>
如果在xml文件下,则修改strings.xml文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">tree</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string name="title_activity_next">NextActivity</string>
<string name="login">登陆</string>
<string-array name="countries_array">
<item>Afghanistan</item>
<item>Albania</item>
<item>Algeria</item>
<item>American Samoa</item>
<item>Andorra</item>
<item>Angola</item>
<item>Anguilla</item>
<item>Antarctica</item>
</string-array>
</resources>