2016-05-11 1 views
0

Ich erstelle einige Edittexte mit einer Hashmap abhängig von einem vom Benutzer angegebenen Wert. Ich kann es nicht in der XML-Datei machen, weil sie vorher nicht existiert.Eine Anfrage machen Fokus auf Edittexte erstellen programaticcaly

for (i = 0; i < n; i++) { 
    layoutValueClassic.addView(edittextStatsList.get(i)); 
    edittextStatsList.get(i).setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED); 
    edittextStatsList.get(i).setGravity(Gravity.CENTER); 
    edittextStatsList.get(i).setEms(2); 
    edittextStatsList.get(i).setTextColor(Color.parseColor("#ffffff")); 
    edittextStatsList.get(i).setBackgroundResource(R.drawable.edit_value); 

    //FOCUS SUR L'EDITTEXT SUIVANT SAUF SI C'EST LE DERNIER 
    edittextStatsList.get(i).setOnEditorActionListener(new TextView.OnEditorActionListener() { 
     @Override 
     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
      if (actionId == EditorInfo.IME_ACTION_NEXT && i < n - 1) { 
       edittextStatsList.get(i + 1).requestFocus(); 
       return true; 
      } 
      return false; 
     } 
    }); 

} 

Wie Sie sehen können, lege ich einen Requestfocus für jeden Edittext auf den nächsten (i + 1). Aber es funktioniert nicht. Ich kann nicht "weiter" machen, wenn ich im Bearbeitungstext bin, ich kann einfach "OK" machen und der Fokus verschwindet.

Irgendeine Idee?

Antwort

2

gesetzt IME OPTIONS für jeden in der Schleife edittext

for (i = 0; i < n; i++) { 
... 
edittextStatsList.get(i).setImeOptions(EditorInfo.IME_ACTION_NEXT); 
.... 
} 
+0

Dank !! Es funktioniert perfekt – Jey10

+0

froh, dass es geholfen hat :) –

Verwandte Themen