У меня есть SearchView
в действии; когда пользователь выполняет поиск, Fragment
, содержащий результаты поиска, добавляет к той же Деятельности.Android SearchView OnFocusChangeListener: onFocusChange вообще не вызывается
Теперь то, что я хочу, что когда SearchView
нажата (поэтому он получает фокус, и пользователь там), Fragment
в уже отображенные (containig в результаты поиска) должны стать тусклым/размыта.
Так что я попытался установить OnFocusChangedListener
для SearchView
в onActivityCreated
жизненного цикла метода обратного вызова Fragment
, но это, кажется, не будет вызываться.
final Activity myActivity = getActivity();
Log.i(TAG, "myActivity>"+myActivity.toString());//check
SearchView mySearchView = (SearchView) myActivity.findViewById(R.id.searchActivity_searchView);
Log.i(TAG, "mySearchView>"+mySearchView.toString());//check
mySearchView.setOnFocusChangeListener(new OnFocusChangeListener() {
@SuppressLint("NewApi")
@Override
public void onFocusChange(View v, boolean hasFocus) {
Log.i(TAG, "onFocusChange OF OnFocusChangeListener IN SearchResultsFragment CALLED.");
if (hasFocus) {
myActivity.getWindow().setDimAmount(1.0f);
}
}
});
Так что я что-то упускаю? Что нужно сделать, чтобы вызвать вызываемый onFocusChanged
, когда пользователь нажимает и, таким образом, активирует SearchView
, чтобы ввести в него свой поисковый запрос?
Примечание: Если требуется полный код SSCCE, просьба указать в комментариях, я отправлю его.
Почему бы вам не попробовать его с помощью setOnClickListener()? – MohanRaj
@MohanRaj Просто попробовал это, даже если это не называется = ( – Solace
Вы можете попробовать это прямо в действии, которое содержит ваш поиск, вместо получения ссылки внутри фрагмента – MohanRaj