Cố gắng bao gồm một chế độ xem tìm kiếm trong thanh tác vụ. Đối với điều này, tôi đã làm những điều sau đây:Thêm SearchView trong Fragment
Created MenuSearch.xml trong thư mục trình đơn như được đưa ra dưới đây:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_search"
android:actionViewClass="Android.Support.V7.Widget.SearchView"
android:icon="@android:drawable/ic_menu_search"
android:showAsAction="always"
android:title="Search"/>
</menu>
Bao gồm các phương pháp OnCreateOptionsMenu trong đoạn:
public override void OnCreateOptionsMenu(IMenu menu, MenuInflater inflater)
{
inflater.Inflate(Resource.Menu.MenuSearch, menu);
base.OnCreateOptionsMenu(menu, inflater);
var searchManager = (SearchManager) this.Activity.GetSystemService(Context.SearchService);
searchView = (SearchView) (menu.FindItem(Resource.Id.action_search).ActionView);
searchView.SetSearchableInfo(searchManager.GetSearchableInfo(Activity.ComponentName));
}
Và tôi có đặt HasOptionsMenu = true;
khi khởi động đoạn.
Với mã ở trên, tôi có con trỏ rỗng trong dòng searchView.SetSearchableInfo...
. Không chắc chắn tại sao điều này xảy ra, mặc dù mọi thứ dường như là chính xác và đúng chỗ.
Dựa trên một số đề xuất để giải quyết vấn đề tương tự, tôi cũng đã thử tùy chọn dưới đây cho tìm kiếm.
var item = menu.FindItem (Resource.Id.action_search);
var searchItem = MenuItemCompat.GetActionView(item);
searchView = searchItem.JavaCast<Android.Support.V7.Widget.SearchView>();
searchView.SetSearchableInfo(searchManager.GetSearchableInfo(Activity.ComponentName));
Nhưng một lần nữa, tôi nhận được searchView là rỗng.
Bây giờ tôi đã thử các tùy chọn có thể, tôi không biết gì về lý do tại sao searchview trở thành rỗng.
Bất kỳ trợ giúp nào được đánh giá cao.
nhận nullPointerException on SearchView searchView = new SearchView (((MainActivity) mContext) .getSupportActionBar(). GetThemedContext()); – Dinesh
@Dinesh Tôi cũng nhận được điều này. Bạn đã quản lý để sửa chữa nó? – CapturedTree
Kiểu ứng dụng của bạn có thể không hỗ trợ thanh tác vụ. Vui lòng kiểm tra xem phong cách của bạn có thực hiện điều đó hay không. –