![](/img/trans.png)
[英]Android: ListView text color is invisible and I don't want it invisible
[英]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中沒有數據顯示如何解決我的問題。
在這里搜索時間數據這樣可見,否則看不到數據
我希望這沒有搜索沒有數據在列表視圖中可見:
但是這里的數據可見:
那是Filter和Search的區別。 您正在過濾數據,沒有應用過濾器,則所有內容均已選中。 最簡單的方法是在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.