textView не отображается при первом изменении - PullRequest
0 голосов
/ 07 сентября 2018
  1. my_text.setText ( "Dave");

// Маленькая пауза ...

    try {  
         Thread.sleep(1000);  
    } catch (InterruptedException e) {  
          e.printStackTrace();  
    }

 my_text.setText("Bob");  

Я хочу изменить свой textView, сделать паузу в 1 секунду, а затем изменить его снова. Когда я запускаю программу, она не обновляется после первого изменения. Это просто показывает второе изменение после возвращения. Как я могу принудительно обновить первое изменение в текстовом представлении?

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Попробуйте использовать Handler как показано ниже код

my_text.setText("Dave");
    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    my_text.setText("Bob");
                }
            });
        }
    }, 1000);
0 голосов
/ 07 сентября 2018

Попробуйте отредактированный вопрос

Храните все свои 20 имен в любом массиве или списке коллекций.

int position = 0;
String names [] = {"0","1","20"};
Handler handler = new Handler(getMainLooper());
Runnable runnable = new Runnable() {
    public void run() {
        my_text.setText(names[position++]);
        if (position < names.length) {
            handler.postDelayed(this, 1000);
        }
    }
};
handler.postDelayed(runnable, 1000);
...