我有AutoCompleteView,用户可以在其中搜索其他用户。用户是一个自定义对象,由id,name组成。 AutoCompleteView是UsersAdapter的控制器。 UsersAdapter处理在建议中设置用户对象的视图。如何在用户名上设置要搜索的AutoCompleteView?我的意思是,自动完成应该基于用户名。
答案 0 :(得分:0)
您应该在AutoCompleteTextView上使用addTextChangedListener
。
之后,使用提供的3种方法之一调用另一个函数来处理包含用户名的列表。
这是一个例子:
recherche.addTextChangedListener(new TextWatcher()
{
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3)
{
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i2, int i3)
{
if (charSequence.length() > 1)
searchSuggestions(charSequence);
}
@Override
public void afterTextChanged(Editable editable)
{
}
});
对于“搜索”方法,你可以找到许多在BDD上链接的例子,所以我使用asyncTask,但如果你已经存储了一个列表,请使用匹配函数。
Hoope有帮助。
答案 1 :(得分:0)
mAutoCompleteTextViewStart = (AutoCompleteTextView) findViewById(R.id.etsource);
mAutoCompleteTextViewDestination = (AutoCompleteTextView) findViewById(R.id.etdestination);
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, mStringsStreet);
mAutoCompleteTextViewStart.setAdapter(adapter);
mAutoCompleteTextViewStart.setThreshold(1);
mAutoCompleteTextViewDestination.setAdapter(adapter);
<AutoCompleteTextView
android:id="@+id/etsource"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="3dp"
android:layout_weight="1"
android:hint="Start"
android:maxLines="2"
android:padding="4dp"
android:textSize="12sp" />