对于想了解android–如何从AutoCompleteTextView获取文本?的读者,本文将是一篇不可错过的文章,我们将详细介绍android获取textview的值,并且为您提供关于Androi
对于想了解android – 如何从AutoCompleteTextView获取文本?的读者,本文将是一篇不可错过的文章,我们将详细介绍android 获取textview的值,并且为您提供关于Android - AutoCompleteTextView、Android AutoCompleteTextView、Android AutoCompleteTextView 和 MultiAutocompleteTextView 实现动态自动匹配输入的内容、Android AutoCompleteTextView 自动提示文本框的有价值信息。
本文目录一览:- android – 如何从AutoCompleteTextView获取文本?(android 获取textview的值)
- Android - AutoCompleteTextView
- Android AutoCompleteTextView
- Android AutoCompleteTextView 和 MultiAutocompleteTextView 实现动态自动匹配输入的内容
- Android AutoCompleteTextView 自动提示文本框
android – 如何从AutoCompleteTextView获取文本?(android 获取textview的值)
我的应用程序中有一个AutoCompleteTextView可以使用.我已经成功创建了一个onClickItemListener.问题是如何获取用户选择的文本.
事情就是这样:我有一个ArrayList,其中的单词被传递给Adapter来搜索建议.当用户键入单词时,建议列表变得更短(在UI侧的行中),所以当我想从索引中的ArrayList获取用户选择的单词时,由于索引不匹配,我得到错误的单词.
如何获取用户选择的文本(String)而不必弄乱索引?
这是我的代码:
public class AutocompleteActivity extends BaseActivity {
private DBManager m_db;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.autocomplete);
m_db = new DBManager(this);
final ArrayList<String> words = m_db.selectAllWords();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.listitem, words);
AutoCompleteTextView tv = (AutoCompleteTextView)findViewById(R.id.autocomplete);
tv.setThreshold(1);
tv.setAdapter(adapter);
tv.setonItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
Log.i("SELECTED TEXT WAS------->", words.get(arg2));
}
});
}
}
解决方法:
arg0是你的AdapterView和arg2的位置.
你有没有尝试过:
arg0.getItemAtPosition(arg2);
Android - AutoCompleteTextView
XML代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
android:orientation="vertical" >
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<requestFocus />
</AutoCompleteTextView>
</LinearLayout>
Java代码:
package com.demo;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AutoCompleteTextView;
import android.widget.ArrayAdapter;
import android.widget.Toast;
import android.widget.TextView;
public class ActivityBasicActivity extends Activity {
/** 当第一次被创建时调用 */
String[] str = {
"rollen", "rollenholt", "rollenren", "roll","Google","百度","腾讯","腾讯游戏"
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);//创建一个线性布局管理器
//this.getWindow().setBackgroundDrawableResource(R.color.mycolor);//设置背景颜色
setContentView(R.layout.main); //显示该视图
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,str);
AutoCompleteTextView textview = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
textview.setThreshold(1);//设置用户输入的字符数才显示下拉菜单
textview.setAdapter(adapter);
}
}

Android AutoCompleteTextView
AutoCompleteTextView是一个可编辑的文本视图显示自动完成建议当用户键入。建议列表显示在一个下拉菜单,用户可以从中选择一项,以完成输入。建议列表是从一个数据适配器获取的数据。它有三个重要的方法clearListSelection():清除选中的列表项、dismissDropDown():如果存在关闭下拉菜单、getAdapter():获取适配器
completionThreshold:它的值决定了你在AutoCompleteTextView至少输入几个字符,它才会具有自动提示的功能。另,默认最多提示20条。
dropDownAnchor:它的值是一个View的ID,指定后,AutoCompleteTextView会在这个View下弹出自动提示。
dropDownSelector:应该是设置自动提示的背景色之类的,没有尝试过,有待进一步考证。
dropDownWidth:设置自动提示列表的宽度。
clearListSelection();//清除选中的列表项
dismissDropDown();//如果存在关闭下拉菜单
getAdapter();//获取适配器
案例代码
1.布局文件autocompletetextview.xml如下
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<AutoCompleteTextView
android:id="@+id/antoCom_btn_id"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:completionHint="输入补全提示标题"
android:completionThreshold="1"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/autoText_text"
/>
</LinearLayout>
2、java文件AutoCompleteTextViewDemo.java
package com.dream.app.start.autocompletetextview;
import com.dream.app.start.R;
public class AutoCompleteTextViewDemo extends PublicClass {
String [] str = {"abc","abcd","abd","asd","asw","wse","wsq"};
//定义数组
// String[] province = getResources().getStringArray(R.array.province);
private AutoCompleteTextView myauto = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.autocomplete);
//定义数组
// String[] province = getResources().getStringArray(R.array.province);
//定义数组适配器
ArrayAdapter<String> autoStr = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,str);
//找到自动完成组件
myauto = (AutoCompleteTextView)findViewById(R.id.antoCom_btn_id);
//为其设置适配器
myauto.setAdapter(autoStr);
}
}
3.执行效果:
Android AutoCompleteTextView 和 MultiAutocompleteTextView 实现动态自动匹配输入的内容
AutoCompleteTextView MultiAutocompleteTextView
这两个控件长的很相似,功能也很相似。
AutoCompleteTextView
-
功能:
动态匹配输入的内容,如百度搜索引擎当输入文本时
可以根据内容显示匹配的热门信息。
-
独特属性
android:completionThreshold="2" // 收入两个字符后自动匹配
---- 设置输入多少字符时自动匹配
那我们来看一下如何实现 AutoCompleteTextView 自动匹配。
-
XML 创建控件:
1 <AutoCompleteTextView 2 android:id="@+id/textview1" 3 android:layout_width="match_parent" 4 android:layout_height="wrap_content" 5 android:completionThreshold="2" 6 android:hint="AutoCompleteTextView" />
-
Java 代码关联并实现:
1 /* 2 * 第一步: 初始化控件 3 * 第二步: 需要一个适配器 4 * 第三步: 初始化数据源----这数据源去匹配文本框中输入的内容 5 * 第四步: 将adapter与当前AutoCompleteTextView绑定 6 * 7 */ 8 9 acTextView = (AutoCompleteTextView) findViewById(R.id.textview1); 10 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 11 android.R.layout.simple_list_item_1, res); 12 acTextView.setAdapter(adapter); 13
-
让我们调试下,功能已经实现了。
MultiAutocompleteTextView
-
功能:
可支持多个值(在多次输入的情况下),分别用分隔符分开, 并且在每个值选中的时候再次输入值时会自动去匹配,
可用在发短信,发邮件时选择联系人这种类型当中。
-
独特属性:
android:completionThreshold="2" // 收入两个字符后自动匹配
---- 设置输入多少字符时自动匹配
-
设置分隔符
Mtxt.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
可以用这个方法设置,分隔
1>XML 创建控件:
1 <MultiAutoCompleteTextView
2 android:id="@+id/textview2"
3 android:layout_width="match_parent"
4 android:layout_height="wrap_content"
5 android:layout_below="@id/textview1"
6 android:layout_marginTop="10dp"
7 android:hint="MultiAutoCompleteTextView" />
2>Java 代码关联并实现:
1 /*
2 * 第一步: 初始化控件
3 * 第二步: 需要一个适配器
4 * 第三步: 初始化数据源----这数据源去匹配文本框中输入的内容
5 * 第四步: 将adapter与当前AutoCompleteTextView绑定
6 * 第五步: 设置分隔符
7 *
8 */
9 macTextView = (MultiAutoCompleteTextView) findViewById(R.id.textview2);
10 macTextView.setAdapter(adapter);
11 //设置以逗号为分隔符为结束的符号
12 macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
3 > 让我们调试下,功能已经实现了。
这两个自动匹配的就做到这里了。这就是这两个自动匹配的用法。
这是我写的 Demo:https://pan.baidu.com/s/1DxUoDTdhbL5kosXTx5S6Pw
原文出处:https://www.cnblogs.com/MrChen-/p/10313890.html
Android AutoCompleteTextView 自动提示文本框
效果
使用方法:
在布局文件中:
<AutoCompleteTextView
android:id="@+id/autotextview"
android:completionThreshold="2"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
这里的一个属性 completionThreshold 设置的为 2,就是说在文本框中输入两个相关的字符后才可弹出相关提示,当然其默认的就是输入两个字符后提出提示
在 java 中
private AutoCompleteTextView mAutotextview;
private void assignViews() {
mAutotextview = (AutoCompleteTextView) findViewById(R.id.autotextview);
}
private void setAutoCompleteTextView() {
//创建数据源
String[] strings = {"adf0","adf1","adf2","adf3","adf4","adf5"};
//创建数据适配器
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout
.simple_expandable_list_item_1,strings);
//设置适配器的样式
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mAutotextview.setAdapter(adapter);
}
这里设置的数据源是 adf 相关的,所以在输入框中输入的文本与 adf 相关的时候才会显示出相关的提示
本文同步分享在 博客 “早起的年轻人”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与 “OSC 源创计划”,欢迎正在阅读的你也加入,一起分享。
今天关于android – 如何从AutoCompleteTextView获取文本?和android 获取textview的值的介绍到此结束,谢谢您的阅读,有关Android - AutoCompleteTextView、Android AutoCompleteTextView、Android AutoCompleteTextView 和 MultiAutocompleteTextView 实现动态自动匹配输入的内容、Android AutoCompleteTextView 自动提示文本框等更多相关知识的信息可以在本站进行查询。
本文标签: