Tôi có tiện ích SearchView trong ứng dụng của mình và tôi muốn hỏi một số câu hỏi về cách tùy chỉnh. Trước hết, bạn có thể bắt đầu tìm kiếm chỉ bằng cách nhấp vào biểu tượng tìm kiếm, có cách nào để làm cho toàn bộ SearchView có thể nhấp được không? Ngoài ra, có cách nào để làm cho SearchView xuất hiện một cái gì đó như thế này khi nó được nhấp?Tìm kiếm tùy chỉnhXem toàn bộ có thể nhấp trong android
a busy cat http://i41.tinypic.com/rr2ow4.png [] [1]
Nó hiện đang ở trạng thái này:!
a busy cat http://i41.tinypic.com/11jlu2p.png [] [1]
Đây là mã của tôi:
citySearch = (SearchView) findViewById(R.id.city_search_bar);
citySearch.setBackgroundResource(R.drawable.search_background);
citySearch.setOnSearchClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
citySearch.setIconifiedByDefault(true);
//citySearch.setIconified(true);
}
});
citySearch.setOnQueryTextListener(new OnQueryTextListener() {
@Override
public boolean onQueryTextChange(String text) {
((Filterable) cityListView.getAdapter()).getFilter().filter(text);
return false;
}
@Override
public boolean onQueryTextSubmit(String text) {
return false;
}
});
try
{
Field searchField = SearchView.class.getDeclaredField("mSearchButton");
searchField.setAccessible(true);
ImageView searchBtn = (ImageView)searchField.get(citySearch);
searchBtn.setImageResource(R.drawable.search_icon);
searchBtn.setScaleType(ScaleType.FIT_CENTER);
searchPlate.setBackgroundResource(R.drawable.search_background);
}
catch (NoSuchFieldException e)
{
Log.e("SEARCHSTYLEERROR",e.getMessage(),e);
}
catch (IllegalAccessException e)
{
Log.e("SEARCHSTYLEERROR",e.getMessage(),e);
}
Ok, vấn đề đầu tiên được giải quyết bằng cách sử dụng setOnClickListener của thành phố. –
Bạn nên trả lời câu hỏi này cùng với nhận xét của bạn ... nó đã giải quyết được vấn đề của tôi – coder
@AnhaytAnanun Bạn đã giải quyết những vấn đề này ngay bây giờ chưa? Nếu vậy thì giải pháp là gì? Bạn có thể xin chia sẻ giải pháp ... Nó có thể giúp chúng tôi quá –