基本上我需要用搜索选项建立一个微调器。真的找不到类似的东西。但是得到了一些想法。就像它可以通过以下过程完成:
使用自动填充TextView:问题是当我点击它时我无法真正加载列表。它在我开始输入时显示一个列表。
使用editTextView下方的下拉列表视图。因此,当我点击editText时,它将作为下拉列表,当我开始输入时,项目将仅显示在列表视图中。
这里的问题是我无法真正实现它。请帮我解决这个问题。
使用一个微调器 - 它将像EditTextView一样,以便我可以输入。
我需要有关如何输入/放置editTextView的帮助。旋转器的顶部。
请帮帮我。
或者,如果有任何更好的建议,请说出来。
答案 0 :(得分:2)
有适用于Android的可搜索微调器库,可能对您有用。
Searchable Spinner是一个带有搜索功能的对话框微调器,可以搜索微调器中加载的项目。
此库需要很少的代码更改,您只需要使用库的标记替换布局xml中的Spinner标记。
PFB链接了解更多详情SearchableSpinner
答案 1 :(得分:0)
我正在使用过滤,而不是自动完成..流程将是,您必须填充您拥有的Arraylist并将其显示为普通列表。 Filtering thingy将在EditText中实现。这是我的一些代码:
1st:声明你的EditText和RelativeLayout,其中将绘制结果:
etClinicName = (EditText)findViewById(R.id.etClinicName);
btnSearch = (Button) findViewById(R.id.btnSearch);
rlayoutResult = (RelativeLayout) findViewById(R.id.relativelayout_result);
第二:在你的OnCreate里面,把这个代码:
etClinicName.addTextChangedListener(new TextWatcher()
{
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3)
{
// When user changed the Text
SearchByNameFragmentActivity.this.arrayAdapter.getFilter().filter(cs);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after)
{
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
这是我的XML布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background_theme"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="41dp"
android:layout_margin="20dp"
android:orientation="horizontal"
android:background="@drawable/shadow" >
<EditText
android:id="@+id/etClinicName"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:hint="@string/hintSearchbranch"
android:inputType="textPersonName"
android:textSize="13sp"
android:background="@drawable/shadow"
android:paddingLeft="1dp"
android:gravity="center_vertical" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_margin="10dp">
<ListView
android:id="@+id/lvlClinicList"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
</LinearLayout>
</RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/newline" />
<RelativeLayout
android:id="@+id/relativelayout_result"
android:layout_width="wrap_content"
android:layout_height="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/btnSearch"
android:layout_width="42dp"
android:layout_height="wrap_content"
android:background="@drawable/ic_action_search_black"
android:padding="15dp" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
随意询问如果您仍然感到困惑,希望它有助于:D