隐藏列表视图直到搜索开始
Hiding Listview until search is initiated
我有一个问题:
我有一个列表视图(来自自定义适配器),顶部有一个搜索栏。一切正常,我唯一需要的是在打开 activity 时保持列表视图隐藏或不可见,直到在搜索栏中开始搜索(换句话说,在我开始输入内容之前保持列表视图隐藏在搜索栏中)。
您可以在此处找到代码:
还有一个建议的解决方案,不幸的是没有用,你可以在这里看到:
Android search list invisible by default? Can it be done?
我期待你们的回复,我提前谢谢你们。
我想您可能正在考虑 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.
尝试将 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) {
}
};
我有一个问题: 我有一个列表视图(来自自定义适配器),顶部有一个搜索栏。一切正常,我唯一需要的是在打开 activity 时保持列表视图隐藏或不可见,直到在搜索栏中开始搜索(换句话说,在我开始输入内容之前保持列表视图隐藏在搜索栏中)。
您可以在此处找到代码:
还有一个建议的解决方案,不幸的是没有用,你可以在这里看到:
Android search list invisible by default? Can it be done?
我期待你们的回复,我提前谢谢你们。
我想您可能正在考虑 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.
尝试将 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) {
}
};