Эй. Я только что запустил с Android. Я использую расположение ViewFlipper с 2 LinearLayouts. Первое расположение имеет кнопку, которая переключается на второе расположение. Я хотел бы добавить таймер, который переключится на первое расположение после 3 000 мс. Я попробовал Потоком, но он не работал (не может общаться с элементом UI другого потока).
Мой код:
общедоступный класс Тест расширяет Действие {
ViewFlipper f;
LinearLayout l1;
LinearLayout l2;
Button b1;
Thread s;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
f = (ViewFlipper) findViewById(R.id.f);
l1 = (LinearLayout) findViewById(R.id.l1);
l2 = (LinearLayout) findViewById(R.id.l2);
b1 = (Button) findViewById(R.id.b1);
updateSwitch = new Thread() {
@Override
public void run() {
try {sleep(3000);
} catch (InterruptedException e) {
} finally {f.showPrevious();}
}
};
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
f.setAnimation(AnimationUtils.loadAnimation(v.getContext(), R.anim.push_left_in));
lFlipper.showNext();
updateSwitch.start();
}
});
}
}
Мое предположение - то, что мне нужен некоторый обработчик, который соединил бы новый поток с основным потоком. Обновите мой код. Спасибо 10x.
Вам необходимо прочитать техническую статью о Обновление пользовательского интерфейса с помощью таймера