Цвет текста SearchView в ActionBar с помощью ActionBarSherlock

Я хочу изменить цвет текста в ActionBarSherlock SearchView , поэтому я нашел это в StackOverflow:

 AutoCompleteTextView searchText = (AutoCompleteTextView) searchView.findViewById(R.id.abs__search_src_text); searchText.setHintTextColor(getResources().getColor(R.color.white)); searchText.setTextColor(getResources().getColor(R.color.white)); 

Но проблема в том, что searchText всегда равно null. Также я попытался с search_src_text (no abs__ ) – снова, searchText имеет значение null .

Я использую Шерлок для своего ActionBar (с пользовательским представлением для панели действий), но я также хочу, чтобы цвет текста вида поиска был изменен.

Что-нибудь я не получу?

Измените и примените свои стили следующим образом:

  1. Перезапишите SearchViewStyle который определяет соответствующий стиль.

     <style name="SearchViewStyle" parent="Widget.Sherlock.Light.SearchAutoCompleteTextView"> <item name="android:textColor">myTextColor</item> </style> 
  2. Добавьте это определение стиля в свою тему приложения.

     <style name="CustomTheme" parent="Theme.Sherlock.Light"> ... <item name="searchAutoCompleteTextView">@style/SearchViewStyle</item> ... </style> 
  3. Примените эту тему в своем манифесте ( android:theme="CustomTheme" ).

Надеюсь, это поможет … Приветствия!

Ps поиск SearchViewStyle в определениях стиля ABS (файлы XML). Таким образом, вы можете отслеживать доступные стили, используя Ctrl + щелчок на определениях.

По-другому, работа для меня

 @Override public boolean onCreateOptionsMenu(Menu menu) { searchView = new SearchView(getSupportActionBar().getThemedContext()); AutoCompleteTextView searchText = (AutoCompleteTextView) searchView.findViewById(R.id.abs__search_src_text); searchText.setTextColor(Color.BLACK); ..................... }