我正在使用AutoCompleteTextView,当用户点击它时,我想显示建议,即使它没有文本 - 但setThreshold(0)工作方式完全相同setThreshold(1)- 因此用户必须输入至少1个字符才能显示建议.
我想AutoCompleteTextView在我的活动中使用an ,并通过查询Web API将数据填充为用户类型.我该怎么做呢?
我是否创建了一个新类并重写AutoCompleteTextView.performFiltering,或者我是否使用自定义列表适配器并提供android.widget.Filter覆盖performFiltering 的自定义?
或者有更好的方法来获得我的最终目标吗?
我做了一些类似的事情,但是它用于快速搜索框,它涉及实现服务,但我相信这不是我想要做的.
我需要SearchView从我的创建arrayList<String>并在下拉列表中显示相同的建议
我寻找教程,逐步解释如何SearchView在操作栏中构建一个.
我已经阅读了文档,并按照谷歌的例子,但它对我没用.
我创建了搜索
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_search"
android:title="Search"
android:icon="@android:drawable/ic_menu_search"
android:showAsAction="always"
android:actionViewClass="android.widget.SearchView" />
</menu>`
Run Code Online (Sandbox Code Playgroud)
但我不知道如何设置字符串数组的参数.我试图在不同的Activity中检索结果但不起作用.
有人可以解释之间的差异MultiAutoCompleteTextView和 AutoCompleteTextView?
user-interface android autocompletetextview multiautocompletetextview
我是Custom CustomerAdapter
public class CustomerAdapter extends ArrayAdapter<Customer> {
private final String MY_DEBUG_TAG = "CustomerAdapter";
private ArrayList<Customer> items;
private int viewResourceId;
public CustomerAdapter(Context context, int viewResourceId, ArrayList<Customer> items) {
super(context, viewResourceId, items);
this.items = items;
this.viewResourceId = viewResourceId;
}
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(viewResourceId, null);
}
Customer customer = items.get(position);
if (customer != null) {
TextView customerNameLabel = (TextView) v.findViewById(R.id.customerNameLabel); …Run Code Online (Sandbox Code Playgroud) 我有一个AutocompleteTextView,它工作正常.当我写一个单词时,它会显示相关的结果,但我想显示所有项目而不在AutocompleteTextView中写任何单词.我怎样才能做到这一点.
我在Action Bar中使用了SearchView.我想在搜索视图上使用自动完成功能来从数据库中获取结果.
这可能吗?或者我是否需要使用自定义文本框然后添加自动完成功能?
我想通过从RESTful Web服务获取列表来定期更改AutoCompleteTextview给出的建议,但无法使其顺利运行.我建立了一个硬编码的建议列表,以确保它的工作:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, new String[] {"Hi", "Ho"});
speciesName.setAdapter(adapter);//my autocomplete tv
Run Code Online (Sandbox Code Playgroud)
我在textview上有一个TextWatcher,当文本发生变化时,会启动一个非阻塞调用来获取新的建议列表 - 这个获得新列表的部分工作正常.然后我想重置适配器,如下所示:
public void setOptionsAndUpdate(String[] options) {
Log.d(TAG, "setting options");
//speciesName.setAdapter((ArrayAdapter<String>)null);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, options);
speciesName.setAdapter(adapter);
}
Run Code Online (Sandbox Code Playgroud)
此方法被调用,但不起作用 - 建议列表消失或显示的建议保持不变,尽管调用setAdapter.
这甚至是正确的方法吗?我看了看SimpleCursorAdapter但无法看到如何将我的网络服务注册为内容提供商.(它的格式为http://www.blah.com/query?term=XX,其中XX是我的应用程序的输入,响应是JSON数组字符串.)
因此,我无法在使用自定义的同时扩展MultiAutoCompleteTextView和支持它.这个问题特别随着电话而上升.在其中有一个游标作为参数方法具有在第一调用此方法有效的和未封闭的光标.但是,后续调用会导致空游标或关闭游标.我猜这与管理如何有关. CursorLoaderTokenizermAdapter.setCursorToStringConverter();convertToString()LoaderManagerCursorLoader
如果我将setCursorToStringConverter()方法注释掉,那么我会根据我在此视图中输入的文本看到可用选项列表.但是,由于没有convertToString()实现terminateToken()方法,因此自定义方法Tokenizer不接收我想要的字符串,而是接收游标对象的代表字符串,因为游标尚未用于获取当前字符串值在得到的查询中的所需列的.
任何人都已经能够实现三类的组合(CursorLoader/LoaderManger,MultiAutoCompleteTextView,和Tokenizer)?
我是否朝着正确的方向前进,或者这根本不可能?
我已经能够实现一个自定义MultiAutoCompleteTextView支持SimpleCursorAdapter的自定义Tokenizer.我只是想知道是否有可能使用a来实现它CursorLoader,因为严格模式抱怨光标MultiAutoCompleteTextView没有被明确关闭.
任何帮助将不胜感激.
public class CustomMultiAutoCompleteTextView extends MultiAutoCompleteTextView
implements LoaderManager.LoaderCallbacks<Cursor> {
private final String DEBUG_TAG = getClass().getSimpleName().toString();
private Messenger2 mContext;
private RecipientsCursorAdapter mAdapter;
private ContentResolver mContentResolver;
private final char delimiter = ' ';
private CustomMultiAutoCompleteTextView mView;
// If non-null, this is the current filter the …Run Code Online (Sandbox Code Playgroud) android stringtokenizer autocompletetextview android-cursorloader
我正在尝试为授权活动编写代码.当我在inputEmail中输入一些条目时,如果存在相应的记录,我希望我的inputPasword将自动归档.但是onItemSelectedListener似乎不起作用.当我选择项目时没有任何反应.日志没有.我想知道我是否犯了一些错误,或者我错了.
AutoCompleteTextView inputEmail;
inputEmail = (AutoCompleteTextView) findViewById(R.id.loginEmail);
inputEmail.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Set<String> keys = prefs.getAll().keySet();
emails.clear();
if (keys.size() != 0) {
emails.addAll(keys);
} else
emails.add("");
inputEmail.setAdapter(adapter);
email = inputEmail.getText().toString();
}
});
inputEmail.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
email = inputEmail.getText().toString();
password = prefs.getString(email, "");
Log.d(email + " "+password, "email+password");
if (password.length() > 1) {
inputPassword.setText(password);
} …Run Code Online (Sandbox Code Playgroud)