隐藏列表视图直到搜索开始

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) {

        }
    };