簡體   English   中英

Android如何隱藏我的列表視圖?

[英]Android how to invisible my listview?

我正在使用自己的數據庫,並獲得特定的列並顯示listview。 在這里使用addTextChangedListener方法是這樣的:

adapter = new ArrayAdapter<String>(this, R.layout.main , R.id.product_name, optionlist);
    listview.setAdapter(adapter); 

 inputSearch.addTextChangedListener(new TextWatcher() { 
   @Override
      public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
            // When user changed the Text                   
         MainActivity.this.adapter.getFilter().filter(cs);                              
        }    
    @Override
      public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {      
        }               
        @Override
            public void afterTextChanged(Editable arg0) {                   
    }
}); 

我的問題是:當我在編輯文本中搜索數據時,只有特定數據可見,否則在Listview中沒有數據顯示如何解決我的問題。

在這里搜索時間數據這樣可見,否則看不到數據

在這里搜索時間數據像這樣可見,否則沒有數據可見

我希望這沒有搜索沒有數據在列表視圖中可見:

在此處輸入圖片說明

但是這里的數據可見:

在此處輸入圖片說明

那是FilterSearch的區別。 您正在過濾數據,沒有應用過濾器,則所有內容均已選中。 最簡單的方法是在TextView為空時在ListView上調用setVisibility(GONE) 或者,當switch設置為true時,可以在Adapter放置一個boolean開關以將項目計數返回0。

在xml中將以下內容添加到您的listview中

android:cacheColorHint="#00000000"

僅將以下內容添加到您的java類中:

@Override
        public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
            // When user changed the Text

            lv.setVisibility(View.VISIBLE);
            MainActivity.this.adapter.getFilter().filter(cs);
            String str = inputSearch.getText().toString();
            if (str.equals("")) {
                lv.setVisibility(View.GONE);
            }
        }

最好清除適配器並將空字符串設置為適配器

@Override
    public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
        // When user changed the Text

        lv.setVisibility(View.VISIBLE);
        MainActivity.this.adapter.getFilter().filter(cs);
        String str = inputSearch.getText().toString();
        if (str.equals("")) 
        {
            List<String> list = new ArrayList<String>();
            list.add("");
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(TestSpinner.this,R.layout.spinner_item,list);
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            listView.setAdapter(adapter);
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM