2013-02-10 8 views
10

Я создаю чат-приложение, которое отображает текст ввода пользователем на экран с помощью прокрутки. То, что я делаю, автоматически прокручивает scrollview вниз, поскольку к тексту добавляется больше текста. Я используюScrollview полностью не прокручивается

ScrollView my_scrollview = (ScrollView) findViewById(R.id.scroller); 
my_scrollview.fullScroll(ScrollView.FOCUS_DOWN); 

Это похоже на работу, хотя по какой-то причине, потому что клавиатура, как правило, на экране во время чата, когда Scrollview прокручивается вниз она не полностью - новейший TextView добавлен не отображается (вам придется вручную прокручивать вниз до самого нового). Как я могу это исправить?

ответ

24

Я осмотрелся и обнаружил, что некоторые other people столкнулись с той же проблемой.

Я решил эту проблему, используя этот кусок кода:

final ScrollView scrollView = (ScrollView) findViewById(R.id.scroll_view); 

scrollView.post(new Runnable() 
{ 
    public void run() 
    { 
     scrollView.fullScroll(View.FOCUS_DOWN); 
    } 
}); 

Надеемся, что это может помочь кому-то там!

+0

эй я сталкиваюсь с той же проблемой, но не могу решить, попробовав свой код ...... может у помочь? – nidhi

+0

Отлично! Это 100% работает! –

+0

, который также работал для меня, отличный ответ –

12

Его последнее, но может помочь кому-то с этой проблемой. Чтобы добавить последний элемент и обновить его для scrollView, потребуется около 200 минут, чтобы это наверняка сработало.

void scrollDown() 
{ 
    Thread scrollThread = new Thread(){ 
     public void run(){ 
      try { 
       sleep(200); 
       ChatActivity.this.runOnUiThread(new Runnable() { 
        public void run() { 
         myScrollView.fullScroll(View.FOCUS_DOWN); 
        }  
       }); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
    }; 
    scrollThread.start(); 
} 

Просто позвоните scrollDown(); после добавления элемента для прокрутки.

+4

Вы также можете использовать 'my_scrollview.postDelayed (новый Runnable() {...}, 200)' – Wirling

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