您的位置:首页 > 移动开发 > Android开发

android *** Layout 08 AutoCompleteTextView && Adapter

2016-02-01 16:54 549 查看
学了一个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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: