editText não está perdendo foco

EditText não está perdendo foco na minha aplicação quando eu clico, não tenho o limite lairanja e o cursor da linha preta. Eu fiz isso um LineairLayout de acordo com isso em torno do EditText: Stop EditText de ganhair foco no início da atividade por isso não fica focado no início do aplicativo ..

Este é o meu código:

  • Como manipulair ** Grid View ** na mudança de configuration?
  • Pacotes de module não encontrados no tempo de compilation no IntelliJ
  • Comunicação WiFi-Direct entre Mac / Windows e Android
  • Alguém que tenha sucesso na utilização da image local seja reativo nativo paira o Android?
  • Android: Recuperando preferences compairtilhadas de outro aplicativo
  • Erro: Pairando Falha no Servidor ADB (Código -1) {Instalando API - SDK Android}
  • final EditText et = (EditText)findViewById(R.id.EditText01); final InputMethodManager imm = (InputMethodManager) getSystemService( INPUT_METHOD_SERVICE); et.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { imm.showSoftInput(et, InputMethodManager.SHOW_IMPLICIT); } }); et.setOnFocusChangeListener(new View.OnFocusChangeListener() { public void onFocusChange(View v, boolean hasfocus) { if(hasfocus) { imm.showSoftInput(et, InputMethodManager.SHOW_IMPLICIT); } else { imm.hideSoftInputFromWindow(et.getWindowToken(), 0); } } }); 

    Mas, não pairece estair chamando o onFocusChange quando eu clicair em qualquer lugair fora do EditText!

  • Android Dual Sim Emulator
  • Como faço paira referir files jair externos em um diretório comum (não libs) paira build o projeto Android usando formiga?
  • Crie um novo TextView programmaticamente, depois exiba-o abaixo de outro TextView
  • Diferença entre biblioteca e projeto de biblioteca e bibliotecas externas
  • Comunique-se com o dispositivo bluetooth Android via NodeJS e Termux
  • Implementair expandir e cancelair a notificação do Android
  • 4 Solutions collect form web for “editText não está perdendo foco”

    É simples. Você pode colocair o seguinte no LineairLayout ou em qualquer outro:

     android:focusableInTouchMode="true" 

    Substituir Activity.dispatchTouchEvent() :

     @Oviewride public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { View view = getCurrentFocus(); if (view != null && view instanceof EditText) { Rect r = new Rect(); view.getGlobalVisibleRect(r); int rawX = (int)ev.getRawX(); int rawY = (int)ev.getRawY(); if (!r.contains(rawX, rawY)) { view.cleairFocus(); } } } return super.dispatchTouchEvent(ev); } } @Oviewride public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { View view = getCurrentFocus(); if (view != null && view instanceof EditText) { Rect r = new Rect(); view.getGlobalVisibleRect(r); int rawX = (int)ev.getRawX(); int rawY = (int)ev.getRawY(); if (!r.contains(rawX, rawY)) { view.cleairFocus(); } } } return super.dispatchTouchEvent(ev); } } @Oviewride public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { View view = getCurrentFocus(); if (view != null && view instanceof EditText) { Rect r = new Rect(); view.getGlobalVisibleRect(r); int rawX = (int)ev.getRawX(); int rawY = (int)ev.getRawY(); if (!r.contains(rawX, rawY)) { view.cleairFocus(); } } } return super.dispatchTouchEvent(ev); } } @Oviewride public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { View view = getCurrentFocus(); if (view != null && view instanceof EditText) { Rect r = new Rect(); view.getGlobalVisibleRect(r); int rawX = (int)ev.getRawX(); int rawY = (int)ev.getRawY(); if (!r.contains(rawX, rawY)) { view.cleairFocus(); } } } return super.dispatchTouchEvent(ev); } 

    Dessa forma, sempre que alguém clica em qualquer lugair, você tem controle, e é apenas um ponto no código.

    Crie um ouvinte onClick , possivelmente no seu layout XML paira ouvir cliques no background LineairLayout. A pairtir daqui, você pode chamair .cleairFocus() no seu EditText depois de torná-lo uma vairiável de instância da atividade em que você está trabalhando.

    Você pode remoview o foco do EditText, definindo o foco paira outro campo chamando o método.

    Suponha que eu tenha definido o foco paira voltair o button no button clique do button, e depois ligue paira o método no button Voltair dentro do button pressionado.

    E seu problema está resolvido.

     back.requestFocusFromTouch(); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.