我有一个问题: 我有一个listview(来自自定义适配器),顶部有一个搜索栏。一切正常,我唯一需要的是打开活动以保持列表视图隐藏或不可见,直到搜索栏中的搜索开始(换句话说,保持列表视图隐藏,直到我开始在搜索栏中输入内容)
您可以在此处找到代码:
How to start new intent after search-filtering listview?
另外一个建议的解决方案,遗憾的是没有用,你可以在这里看到:
Android search list invisible by default? Can it be done?
我很期待你们的回复,我们提前感谢你们。
答案 0 :(得分:0)
我想你可能在考虑一个AutoCompleteTextView?它要求您将列表数据加载到其适配器中,然后设置适配器。
// Get a reference to the AutoCompleteTextView in the layout
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_country);
// Get the string array
String[] countries = getResources().getStringArray(R.array.countries_array);
// Create the adapter and set it to the AutoCompleteTextView
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, countries);
textView.setAdapter(adapter);
Google指南:here。
答案 1 :(得分:0)
尝试将TextWatcher
添加到您的搜索EditText
。这将检测您在搜索中输入内容的时间:
EditText search= (EditText) findViewById(R.id.search);
search.addTextChangedListener(filterTextWatcher);
TextWatcher方法:
private TextWatcher filterTextWatcher = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
//Change the visibility here
list.setVisibility(View.VISIBLE);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
};