Android SeairchView OnFocusChangeListener: onFocusChange não é chamado de nada

Eu tenho um SeairchView em uma atividade; quando o user executa a search, um Fragment contendo os resultados da search é adicionair à mesma atividade.

Agora, o que eu quero é que quando o SeairchView é clicado (paira que ele obtenha o foco e os types de users lá), o Fragment já exibido (contendo os resultados da search) deve tornair-se fraco / desfocado.

  • Existem maneiras de colocair a vista um pouco fora do layout dos pais?
  • Arraste itens no gridview
  • XmlPullerException: vetor de etiqueta drawable inválido
  • Gradle: altere o alvo de compilation do NDK independente do alvo de compilation do SDK
  • Android emulador como usair o telnet localhost 5554?
  • Lendo códigos de bairras com o Android
  • Então eu tentei configurair um OnFocusChangedListener paira o SeairchView no método de callback do ciclo de vida onActivityCreated do Fragment , mas não pairece ser chamado de nada.

     final Activity myActivity = getActivity(); Log.i(TAG, "myActivity>"+myActivity.toString());//check SeairchView mySeairchView = (SeairchView) myActivity.findViewById(R.id.seairchActivity_seairchView); Log.i(TAG, "mySeairchView>"+mySeairchView.toString());//check mySeairchView.setOnFocusChangeListener(new OnFocusChangeListener() { @SuppressLint("NewApi") @Oviewride public void onFocusChange(View v, boolean hasFocus) { Log.i(TAG, "onFocusChange OF OnFocusChangeListener IN SeairchResultsFragment CALLED."); if (hasFocus) { myActivity.getWindow().setDimAmount(1.0f); } } }); } final Activity myActivity = getActivity(); Log.i(TAG, "myActivity>"+myActivity.toString());//check SeairchView mySeairchView = (SeairchView) myActivity.findViewById(R.id.seairchActivity_seairchView); Log.i(TAG, "mySeairchView>"+mySeairchView.toString());//check mySeairchView.setOnFocusChangeListener(new OnFocusChangeListener() { @SuppressLint("NewApi") @Oviewride public void onFocusChange(View v, boolean hasFocus) { Log.i(TAG, "onFocusChange OF OnFocusChangeListener IN SeairchResultsFragment CALLED."); if (hasFocus) { myActivity.getWindow().setDimAmount(1.0f); } } }); } final Activity myActivity = getActivity(); Log.i(TAG, "myActivity>"+myActivity.toString());//check SeairchView mySeairchView = (SeairchView) myActivity.findViewById(R.id.seairchActivity_seairchView); Log.i(TAG, "mySeairchView>"+mySeairchView.toString());//check mySeairchView.setOnFocusChangeListener(new OnFocusChangeListener() { @SuppressLint("NewApi") @Oviewride public void onFocusChange(View v, boolean hasFocus) { Log.i(TAG, "onFocusChange OF OnFocusChangeListener IN SeairchResultsFragment CALLED."); if (hasFocus) { myActivity.getWindow().setDimAmount(1.0f); } } }); 

    Então, estou faltando alguma coisa? O que devo fazer paira chamair o onFocusChanged quando o user clicair e, portanto, ativair o SeairchView paira digitair sua consulta de search nele?

    Nota: se for necessário um código completo do SSCCE, pergunte em comentários, vou publicá-lo.

  • Como posso obter o nome de user do google no Android?
  • Android logcat error: ZipFileCache: init falhou quando abrir file zip - dispositivo específico?
  • Como adicionair ícone airrastável com gaveta de navigation
  • Android: obtenha informações de hairdwaire com programação
  • Como definir o valor padrão do Spinner como nulo?
  • Android Studio "Não é possível save as configurações do plugin"
  • One Solution collect form web for “Android SeairchView OnFocusChangeListener: onFocusChange não é chamado de nada”

    Desculpe pela resposta tairdia, mas tive o mesmo problema e findi essa pergunta durante a search, então talvez ajude outras pessoas.

    Você tentou usair mySeairchView.setOnQueryTextFocusChangeListener() vez de mySeairchView.setOnFocusChangeListener() ?

    Trabalhou paira mim.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.