2014-08-27 38 views
0

我从FragmentActivity扩展主要活动。我得到getActionView null.How can I fix this?使用getActionView返回null

@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"/> 

回答

1

试试这个:

android:actionViewClass="android.widget.SearchView"