Java Android如何隐藏我的listview?
我使用自己的数据库,获取特定列和显示列表视图。这里使用如下方法使用Java Android如何隐藏我的listview?,java,android,listview,search,Java,Android,Listview,Search,我使用自己的数据库,获取特定列和显示列表视图。这里使用如下方法使用addTextChangedListener: adapter = new ArrayAdapter<String>(this, R.layout.main , R.id.product_name, optionlist); listview.setAdapter(adapter); inputSearch.addTextChangedListener(new TextWatcher() { @O
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) {
}
});
adapter=newarrayadapter(这个,R.layout.main,R.id.product\u name,optionlist);
setAdapter(适配器);
inputSearch.addTextChangedListener(新的TextWatcher(){
@凌驾
public void onTextChanged(字符序列cs、int arg1、int arg2、int arg3){
//当用户更改文本时
MainActivity.this.adapter.getFilter().filter(cs);
}
@凌驾
public void beforeTextChanged(字符序列arg0、int arg1、int arg2、int arg3){
}
@凌驾
public void PostTextChanged(可编辑arg0){
}
});
我的问题是:当我在编辑文本中搜索数据时,此时只有特定数据可见,其他方面没有数据显示在我的listview中,如何解决我的问题
此处搜索时间数据可见,如下图所示,否则没有数据可见
我希望此无搜索列表视图中无可见数据:
但这里的数据如下所示:
这就是筛选和搜索之间的区别。您正在筛选数据,没有应用任何筛选器,所有内容都已选中。当
TextView
为空时,最简单的方法是在ListView
上调用setVisibility(GONE)
。或者,当开关设置为true时,您可以在适配器中放置一个布尔
开关,以将项目计数返回为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);
}
}
最好清除适配器并将空字符串设置为adapter
@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);
}
}
@覆盖
public void onTextChanged(字符序列cs、int arg1、int arg2、int arg3){
//当用户更改文本时
lv.setVisibility(视图可见);
MainActivity.this.adapter.getFilter().filter(cs);
String str=inputSearch.getText().toString();
if(str.equals(“”)
{
列表=新的ArrayList();
列表。添加(“”);
ArrayAdapter=新的ArrayAdapter(TestSpinner.this,R.layout.spinner\u项,列表);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
setAdapter(适配器);
}
}
清除适配器比隐藏listview更好。