最近在学习安卓开发,发现安卓中,很多控件都按照具体的功能来独立出来了,比如这个自动补全的控件。
废话不多说,先看下效果:
当我打aa的时候,就会提示出来。 下面直接上代码核心部分
xml部分:
<AutoCompleteTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/app_name"
android:id="@+id/autoCompleteTextView"
android:layout_below="@+id/textView4"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:dropDownWidth="match_parent"/>
Activity部分:
AutoCompleteTextView t;
ArrayAdapter adapter;
String[] array = {"aa", "vv", "bb", "ccadasfds", "dd123", "aa"};
/**
* ATTENTION: This was auto-generated to implement the App Indexing API.
* See https://g.co/AppIndexing/AndroidStudio for more information.
*/
private GoogleApiClient client;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
t = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, array);
t.setAdapter(adapter);
// ATTENTION: This was auto-generated to implement the App Indexing API.
// See https://g.co/AppIndexing/AndroidStudio for more information.
client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
<span style="white-space:pre"> </span>
<span style="white-space:pre"> </span>
<span style="white-space:pre"> </span>//下面这部分,是点击空白处让键盘消失。
RelativeLayout mylayout = (RelativeLayout)findViewById(R.id.myLayout);
mylayout.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
InputMethodManager manager = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
return manager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),0);
}
});
}