Tolgay Toklar
Tolgay Toklar

Reputation: 4343

getActionView returning null

I am extending main activity from FragmentActivity.I am getting getActionView null.How can I fix this ?

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    searchItem = menu.findItem(R.id.action_search);
    SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE); 
    searchView = (SearchView)searchItem.getActionView();
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));

    searchView.setQueryHint(getResources().getString(R.string.hint)); //if you want a custom hint
    searchView.setOnQueryTextListener(this);
    EditText et = (EditText)searchView.findViewById(searchView.getContext().getResources()
            .getIdentifier("android:id/search_src_text", null, null));
    et.setHintTextColor(getResources().getColor(R.color.blue)); // if you want to change hint color
    et.setFilters(new InputFilter[] { new InputFilter.LengthFilter(25) }); // if you want to set max. text limit
    return true;
}

Menu.xml

  <item android:id="@+id/action_search"
      android:icon="@drawable/ic_action_search"
      android:title="Ara"
      android:showAsAction="always|collapseActionView" 
      app:actionViewClass="android.widget.SearchView"/>

Upvotes: 0

Views: 1163

Answers (1)

Simas
Simas

Reputation: 44118

Try using this instead:

android:actionViewClass="android.widget.SearchView"

Upvotes: 1

Related Questions