0

Привет, я хочу получить текст редактирования, который в настоящее время фокусируется на нажатие кнопки, есть кнопка для этого.Как текущий фокус edittext в android?

Или есть способ определить, какой последний текст изменяется, если в действии много текста редактирования.

Пожалуйста, предложите мне полезную ссылку или код примера.

ответ

1

Я беру линейную компоновку и добавляю в нее пользовательский EditText.

LayoutInflater li = (LayoutInflater) this.getSystemService(LAYOUT_INFLATER_SERVICE); 
    for(int i = 0; i < 3; i++) { 
     View v = li.inflate(R.layout.addit, null); 
     final EditText e = (EditText) v.findViewById(R.id.e1); 
     e.addTextChangedListener(new TextWatcher() { 

      public void afterTextChanged(Editable s) { 
       // TODO Auto-generated method stub 

      } 

      public void beforeTextChanged(CharSequence s, int start, 
        int count, int after) { 
       // TODO Auto-generated method stub 

      } 

      public void onTextChanged(CharSequence s, int start, 
        int before, int count) { 
       // TODO Auto-generated method stub 

       System.out.println("--change--"); 
       mEditText = e; 
       System.out.println(e.getText().toString()); 
      } 

     }); 
     edit_ll.addView(v); 
    } 

Здесь mEditText является глобальной переменной.

В любом месте, где вы находитесь, вы можете получить к нему доступ. И можете получить то, что было последним editText, который вы написали.

+0

спасибо, хороший пример. –

0

вы можете добавить textWatcher всем EditTexts:

private class CustomTextWatcher implements TextWatcher { 
    private EditText mEditText; 

    public CustomTextWatcher(EditText e) { 
     mEditText = e; 
    } 

    public void beforeTextChanged(CharSequence s, int start, int count, int after) { 
    } 

    public void onTextChanged(CharSequence s, int start, int before, int count) { 
    } 

    public void afterTextChanged(Editable s) { 
    } 
} 

и может иметь глобальную переменную в классе, чтобы содержать EditText ссылку, которая редактируется.

+0

, пожалуйста, предложите мне добавить ваш CustomerTextWatcher для редактирования текста final EditText tv = new EditText (getContext()); –

+0

спасибо, работай для меня. –

Смежные вопросы