动态更改搜索视图的关闭图标 - android

时间:2016-10-26 16:10:57

标签: android

我已经使用搜索视图实现了列表视图。因此,当用户在搜索视图中输入时,它将搜索列表中的匹配条目,并相应地更新列表视图以显示匹配的条目。

但我想问的是, 是否有任何方法可以确定输入到searchview中的文本不在列表中。因此,对于该条目,我可以显示添加按钮以在列表中添加该条目 现在我的代码是,

addLabelText =(SearchView) findViewById(R.id.addLabelText);
        addLabelText.setOnQueryTextListener(this);

listView = (ListView) findViewById(R.id.listview);
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_single_choice,lv_arr);//here lv_arr is String[]
        listView.setAdapter(adapter);

    }

@Override
    public boolean onQueryTextChange(String newText) {
        adapter.getFilter().filter(newText);
        return false;
}

简而言之,我想动态更改searchview的关闭图标, 如果适配器返回一些条目,它应该显示关闭图标...如果它是空的,那么它应该显示+图标,以便用户可以添加新的条目到列表...

我知道,我们可以使用

来关闭搜索视图的关闭图标
int closeButtonId = getResources().getIdentifier("android:id/search_close_btn", null, null);
ImageView closeButtonImage = (ImageView) addLabelText.findViewById(closeButtonId);
closeButtonImage.setImageResource(R.drawable.close);

但是如何编写条件来确定适配器是否显示空列表。 <或者

1 个答案:

答案 0 :(得分:1)

不完全是我想要的,但listview.setEmptyView(R.id ....)帮助了我。