#android #viewflipper
#Android #viewflipper
Вопрос:
у меня есть XML-файл, который включает ViewFlipper, и я хочу показать следующий вид (в viewflipper) через 3 секунды, но он не отображается после этого периода: XML:
<?xml version="1.0" encoding="UTF-8"?>
<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@ id/flipper" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@ id/sipLabel" android:textSize="20sp"
android:layout_width="fill_parent" android:layout_height="wrap_content" />
<ImageView android:id="@ id/disconnected" android:src="@drawable/disconnected"
android:layout_below="@id/sipLabel" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_weight="0.35"
android:gravity="center" android:visibility="visible" />
</RelativeLayout>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@ id/sipLabel" android:textSize="20sp"
android:layout_width="fill_parent" android:layout_height="wrap_content" />
<ImageView android:id="@ id/connected" android:src="@drawable/connected"
android:layout_below="@id/sipLabel" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_weight="0.35"
android:gravity="center" android:visibility="visible" />
</RelativeLayout>
</ViewFlipper>
JAVA-код:
public void onRegistrationDone(String localProfileUri, long expiryTime)
{
updateStatus("Registered to server.");
Log.d("SUCCEED", "Registration DONE");
final ViewFlipper flipper = (ViewFlipper) findViewById(R.id.flipper);
flipper.postDelayed(new Runnable()
{
public void run()
{
flipper.showNext();
}
}, 3000);
}
В чем проблема? почему следующий просмотр не отображается?
Спасибо вам за вашу помощь.
Комментарии:
1. Ну ладно, у меня есть @drawable / connected в двух представлениях! однако textview не отображается во втором представлении, у меня есть только изображение! есть идеи? Спасибо.
2. вы уверены, что
onRegistrationDone
это выполняется в потоке пользовательского интерфейса? Если это так, еслиupdateStatus
метод не выдает исключение, этот код работает нормально!
Ответ №1:
попробуйте это вместо запуска потока:
viewFlipper.setFlipInterval(FLIP_INTERVAL);
viewFlipper.startFlipping();
вы можете установить значение FLIP_INTERVAL в миллисекундах.