Tôi đang cố gắng thêm hỗ trợ cho Thanh hành động SearchView
trên Android 3.0+, nhưng tôi không thể OnCloseListener
hoạt động được.
Đây là mã của tôi:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
searchView = (SearchView) menu.findItem(R.id.search_textbox).getActionView();
searchView.setOnQueryTextListener(new OnQueryTextListener() {
@Override
public boolean onQueryTextChange(String newText) {
searchLibrary(newText);
return false;
}
@Override
public boolean onQueryTextSubmit(String query) { return false; }
});
searchView.setOnCloseListener(new OnCloseListener() {
@Override
public boolean onClose() {
System.out.println("Testing. 1, 2, 3...");
return false;
}
});
return true;
}
Tìm kiếm hoạt động tốt và mọi thứ đều hoạt động ngoại trừ OnCloseListener
. Không có gì được in vào Logcat. Đây là Logcat khi tôi nhấn nút "Đóng":
02-17 13:01:52.914: I/TextType(446): TextType = 0x0
02-17 13:01:57.344: I/TextType(446): TextType = 0x0
02-17 13:02:02.944: I/TextType(446): TextType = 0x0
Tôi đã xem qua tài liệu và mẫu, nhưng dường như không có gì thay đổi được. Tôi đang chạy nó trên Asus Transformer Prime và Galaxy Nexus, cả trên Ice Cream Sandwich. Bất kỳ ý tưởng?
Cập nhật:
Có - System.out.println()
không hoạt động. Đây là bằng chứng:
@Override
public boolean onQueryTextChange(String newText) {
System.out.println(newText + "hello");
searchLibrary(newText);
return false;
}
Kết quả trong Logcat này:
02-17 13:04:20.094: I/System.out(21152): hello
02-17 13:04:24.914: I/System.out(21152): thello
02-17 13:04:25.394: I/System.out(21152): tehello
02-17 13:04:25.784: I/System.out(21152): teshello
02-17 13:04:26.064: I/System.out(21152): testhello
showAsAction
được đặt thành always
. Hộp tìm kiếm có một nút đóng của riêng nó nhưng nếu nó được đặt thành ifRoom | collapseActionView
nó sẽ mở rộng trên thanh tác vụ.