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

Android autocompleteTextview自动补齐

2013-01-01 11:18 337 查看
像在百度输入框中一样,输入几个字后,下面会列出相近的搜索项。Android可以利用AutoCompleteTextView来实现,实现方法如下:

第一步,布局文件:

<AutoCompleteTextView

android:id="@+id/autoCompleteChannelName"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:completionHint="请选择营业厅"

android:completionThreshold="2" //表示输入两个字后开始找相匹配的项

android:ems="10" >

<requestFocus />

</AutoCompleteTextView>

第二步,activity后台实现:

//智能提示框内容

private String[] channelName = {"aa","bb","baa","aacd","aaadd"};

//下拉框中的内容对应的ID

private long [] channelIds={1,2,3,4,5};

//下拉框所需的适配器

private ArrayAdapter<String> autoAdapter;

//控件初始化:

autoCompleteTextView = (AutoCompleteTextView)findViewById(R.id.autoCompleteChannelName);

//初始化下拉框中的内容:

autoAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, channelName);

autoCompleteTextView.setAdapter(autoAdapter);

//绑定选择项的事件:

myOnItemSelectListen ml = new myOnItemSelectListen(this,autoAdapter);

autoCompleteTextView.setOnItemClickListener(ml);

// 用户选择下拉框事件()

class myOnItemSelectListen implements OnItemClickListener{

private ArrayAdapter<String> myArrayAdapter;

private Activity mcontext;

public myOnItemSelectListen(Activity c,ArrayAdapter<String> ad){

this.myArrayAdapter = ad;

this.mcontext = c;

}

public void onItemClick(AdapterView<?> parent, View v, int pos,long row) {

for(int i=0;i<channelIds.length;i++){

if (autoCompleteTextView.getText().toString().equals(channelName[i])) {

dt.setChannel_id(channelIds[i]);

break;

}

}

parent.setVisibility(View.VISIBLE);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: