2014-04-25 22 views
5

Ho il contenitore FrameLayout in cui voglio aggiungere dinamicamente EditText. Ho bisogno di impostare due imeOptions: IME_ACTION_DONE e IME_FLAG_NO_EXTRACT_UI in questo stesso tempo, ma ho problemi a come farlo a livello di programmazione. La mia soluzione sovrascrive il mio imeOptions (che ora è un buon comportamento :) ma provo tutto)Come impostare alcune imeOptions in modo programmatico

E la mia domanda secolare: come impostare lo stato attivo dopo aver creato EditText a livello di codice? Questo metodo editText.requestFocus(); non funziona per me. Voglio aprire tastiera dopo postCardContainer.addView(editText);

postCardContainer.setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 

      FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); 
      params.topMargin = (int) event.getY()-50; 
      params.leftMargin = (int) event.getX()-50; 

      EditText editText = new EditText(NewPostcardActivity.this); 
      editText.setSingleLine(); 
      editText.setBackgroundResource(R.color.transparent); 
      editText.requestFocus(); 
      editText.setLayoutParams(params); 
      editText.setCursorVisible(true); 
      editText.setImeOptions(EditorInfo.IME_ACTION_DONE); 
      editText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI); 

      postCardContainer.addView(editText); 

      return false; 
     } 
    }); 

Grazie

+0

Possibile -http duplicato: //stackoverflow.com/questions/17501426/android-imeoptions-change-programmatic –

+0

No, voglio impostare IME_ACTION_DONE e IME_FLAG_NO_EXTRACT_UI su un'EditText non oggetto differente. Due attr su un oggetto. – kazhiu

+0

Possibile duplicato di http://stackoverflow.com/questions/3459168/imeoptions-actionnext-programmatically-how-to-jump-to-next-field –

risposta

6

Prova come come di seguito.

editText.setImeOptions(EditorInfo.IME_ACTION_DONE | EditorInfo.IME_FLAG_NO_EXTRACT_UI); 
+0

Grazie, funziona perfettamente :) – kazhiu

Problemi correlati