2016-05-24 5 views
-1

Ich habe eine Schaltfläche "anzeigen" und wenn die Schaltfläche angeklickt wird, muss das Textfeld bearbeiten nicht bearbeitbar sein und wenn ich auf "Weiter" klicke, muss ich den Fokus zurückgeben, Textfeld zu bearbeiten . Ich versuchte den folgenden CodeEditText Fokusmethode funktioniert nicht wie erwartet in Android

Ich versuchte, Werte zwischen setFocusable und setClickable ändern, aber nichts half. Wenn ich zum ersten Mal auf die showans-Schaltfläche klicke, verliert das Bearbeitungsfeld den Fokus und es ist nicht anklickbar, obwohl ich den Wert auf true setze, wenn ich auf die Schaltfläche "next" und alle diese Schaltflächen klicke. Alle diese Textfelder und Schaltflächen werden dynamisch generiert. Jede Hilfe wäre großartig !! ändern Dank

+0

Was war das eigentliche Problem beim Erstellen dynamischer Schaltflächen? –

+0

Nein, ich möchte das nur erwähnen. Ich habe keine Probleme wegen dieser @AbhishekPatel – Anusha

+1

Sie können setEnabled() -Methode verwenden, um die Editiertextansicht vollständig zu deaktivieren oder zu aktivieren. –

Antwort

0

Bitte an editText.requestFocus();

Sie editText.clearFocus();

+0

Wo soll ich das hinzufügen? wenn die nächste Taste geklickt wird? @Arshid KV – Anusha

+0

Nein, es funktioniert nicht – Anusha

+0

Sie können 'editText.clearFocus()' –

0

können Sie verwenden können setEnabled() -Methode zu deaktivieren oder die editText ermöglichen

//to disable 
editText.setEnabled(false); 
//to re enable 
editText.setEnabled(true); 
1

Sie können

editText.setInputType(InputType.TYPE_NULL); for uneditable EditText 

und

editText.setInputType(InputType.TYPE_CLASS_TEXT) 

to make it editable 
0

Sie könnten versuchen, setFocusableInTouchMode mit - so wird Ihr Code wird so zu etwas ändern:

showans.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
       editText.setFocusable(false); 
       editText.setFocusableInTouchMode(false); 
    } 
    next.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      editText.setFocusable(true); 
      editText.setClickable(true); 
      editText.setFocusableInTouchMode(true); 
     } 
} 

Geben Sie diesen einen Versuch und lassen Sie mich wissen, ob es hilft.

Verwandte Themen