2015-07-14 3 views
1

У меня есть SeekBar с TextView, показанным над большим пальцем, когда он движется (в виде всплывающей подсказки). Кроме того, есть EditText ниже SeekBar:TextView.setVisibility (GONE) не работает

seekbar

Когда я не двигаюсь большим пальцем SeekBar, тем TextView не показан. Он появляется только при перемещении большого пальца или изменении номера в EditText. Я хочу, чтобы он исчез, когда я перестаю перемещать большой палец, или после того, как я завершу ввод в EditText.

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

Я пробовал:

@Override 
public void afterTextChanged(Editable arg0) { 
    textView.setVisibility(GONE); 
} 

, но это не похоже на работу. Когда я печатаю что-то, он появляется, и он держится там, пока я не двигаю большим пальцем.

Как я могу заставить его исчезнуть после завершения ввода?

ответ

1

Вы можете попробовать это:

editText.addTextChangedListener(new TextWatcher() { 

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


       @Override 
       public void afterTextChanged(Editable str) { 
        new Handler().postDelayed(new Runnable() { 
         @Override 
         public void run() { 
          textView.setVisibility(View.GONE); 
         } 
        }, 500); 

       } 


       @Override 
       public void beforeTextChanged(CharSequence s, int start, int count, 
               int after) { 
        textView.setVisibility(View.VISIBLE); 
       } 

      }); 

Вы можете также добавить обработчик после задержки 500 мс, что даст более правильное представление.

+0

'postDelayed' решил это –

1

Попробуйте, похоже, что вам не хватает View.

@Override 
public void afterTextChanged(Editable arg0) { 
    textView.setVisibility(View.GONE); 
} 
+0

Нет ... Это не проблема –

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