我想在我的布局中添加一个searchView并将其放在我想要的位置,不幸的是,我所能找到的只是将其添加到操作栏。我尝试将searchView小部件拖动到活动的布局中,但不确定从那里开始(它在设计上弹出了大量的空指针异常)。
我已遵循本指南:http://developer.android.com/guide/topics/search/search-dialog.html 并在操作栏中成功创建了一个searchView,这对于SearchableActivity非常有用。现在我想进入我的另一个活动,比如说MainActivity,并添加一个searchView小部件,我不想把它放到动作栏中。
我该怎么做?我已按照指南获得了我的SearchableActivity和配置。
答案 0 :(得分:4)
您可以使用此搜索您的列表视图。在这里,我使用editte1xtSearch,您将添加要搜索的文本。
editTextSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2,
int arg3) {
String text = edSearch.getText().toString();
NameListAdapter.filter(text);
}
@Override
public void beforeTextChanged(CharSequence cs, int arg1, int arg2,
int arg3) {
}
@Override
public void afterTextChanged(Editable cs) {
}
});
添加以下过滤方法:
// Filter method for search
public void filter(String charText) {
charText = charText.toLowerCase(Locale.getDefault());
NameArrayList.clear();
int j;
if (charText.length() == 0) {
NameArrayList.addAll(arrayList);
}
else
{
NameArrayList.clear();
for (j=0;j<arrayList.size();j++)
{
if(arrayList.get(j).toLowerCase(Locale.getDefault()).contains(charText))
{
NameArrayList.add((arrayList.get(j)));
}
}
}
notifyDataSetChanged();
}