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

时间:2015-11-17 02:30:04

标签: android listview search android-listview hidden

我有一个问题: 我有一个listview(来自自定义适配器),顶部有一个搜索栏。一切正常,我唯一需要的是打开活动以保持列表视图隐藏或不可见,直到搜索栏中的搜索开始(换句话说,保持列表视图隐藏,直到我开始在搜索栏中输入内容)

您可以在此处找到代码:

How to start new intent after search-filtering listview?

另外一个建议的解决方案,遗憾的是没有用,你可以在这里看到:

Android search list invisible by default? Can it be done?

我很期待你们的回复,我们提前感谢你们。

2 个答案:

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

        }
    };