Приостановка с обработчиком и postDelayed в Android
Я очень новичок в программировании Android, поэтому, пожалуйста, прости мой нуби. Я'Я пытаюсь создать очень простое действие, которое будет иметь один TextView в середине макета и просто переключать его на другой текст каждые пару секунд. Например, TextView скажет "text1", пауза на пару секунд, а затем сказать "text2, и снова пауза. В конце концов, я хочу добавить больше текстов и сделать так, чтобы они все циклически сменялись. Я знаю, это кажется очень простой вещью, но яЯ в основном пытаюсь узнать о потоках и обработчиках в данный момент. В любом случае, яМы прочитали о том, как мы должны хранить длинные вещи в потоке пользовательского интерфейса, чтобы предотвратить ошибку, поэтому я подумал:d используйте обработчик для простого переключения между двумя текстами на экране. К сожалению, я могуне заставить это работать. Вот'какой-то код:
public class MainActivity extends Activity {
String[] myarray = {"text1" , "text2"};
int arraylength = myarray.length;
int count;
Handler handler = new Handler();
TextView mytexts;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mytexts = (TextView)findViewById(R.id.my_texts);
mytexts.setText(myarray[0]);
Thread t = new Thread( new Runnable(){
public void run() {
for (int count = 0; count < arraylength; count++){
handler.postDelayed(new Runnable(){
public void run() {
mytexts.setText(myarray[1]);
}
}, 7000);
}
}
});
t.start();
}
}
Из того, что я вижу в logcat, похоже, что обработчик запускает postDelayed один за другим (в моем коде 'В этом случае он не ждет 7 секунд с postDelay, чтобы сделать еще один postDelayed). Кроме того, я хотел бы сделать 1 в "mytexts.setText (MyArray [1]);» быть таким же какрассчитывать» в цикле for, поэтому он может совпадать с одной из строк в массиве, но это дает мне ошибку. Я'Я застрял на этом часами и другими примерамиЯ считаю, что онлайн кажется слишком сложным для такого человека, как я, который в основном хочет разобраться в основах, прежде чем я смогу заняться другими делами. Любая помощь с любым из этого будет очень цениться. Спасибо.