Saya mencoba menampilkan beberapa teks setelah tujuan lain, saya menggunakan handler dengan saklar dalam "untuk", jadi untuk setiap rotasi menunggu 5SEC dan mencetak teks berikutnya, itulah teori saya tetapi satu-satunya hal yang saya dapatkan pada program tersebut menunggu 5SEC Kemudian mencetak semua teks pada saat yang sama, bantuan apa pun akan dihargai.

for (int i = 0; i < 4; i++) {
    int finalI = i;
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            switch (finalI){
                case 0: twChoice1.animateText("text 1"); break;
                case 1: twChoice2.animateText("text 2"); break;
                case 2: twChoice3.animateText("text 3"); break;
                case 3: twChoice4.animateText("text 4"); break;
            }

        }
    }, 5000);
}
0
Ralvagar 5 April 2021, 01:50

1 menjawab

Jawaban Terbaik

Anda harus bekerja dengan timer dan timertask (impor keduanya).

private int messageIndex = 0;
private TextView[] txtViewsArray = {twChoice1, twChoice2, twChoice3, twChoice4};

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    displayMessages();
}

private void displayMessages() {
    Timer timer = new Timer();

    TimerTask timerTask = new TimerTask() {
        public void run() {
            if (index >= txtViewsArray.length) messageIndex = 0;
            txtViewsArray[messageIndex].animateText("text" + (messageIndex + 1).toString());
            messageIndex++;
        }
    };

    timer.schedule(timerTask, 0, 5000);
}
1
Raphael Ouzilleau 5 April 2021, 16:20