Я пытаюсь настроить жесты, работающие с макетом вкладок в приложении для Android.То, с чем я работаю, - это отдельное действие с различным представлением для каждой вкладки.Вместо того, чтобы содержать их в FrameLayout, я использую ViewFlipper для содержимого моей вкладки.Я хочу, чтобы жесты влево / вправо заменяли активные вкладки активной вкладкой на левую или правую от текущей.
Проблема возникает при перелистывании в и из моего третьего списка после того, как элементы были добавлены в него.Я вижу поведение, когда отображается третий список, но наложен на список, в котором я был ранее.
Есть идеи, почему это происходит?
Мой Java-код для переключения видов / вкладок:
public void onSwipe(int direction) {
switch (direction) {
case SimpleGestureFilter.SWIPE_RIGHT : swipeRight(); break;
case SimpleGestureFilter.SWIPE_LEFT : swipeLeft(); break;
}
}
private void swipeLeft() {
viewFlipper.setInAnimation(this,R.anim.slide_in_right);
viewFlipper.setOutAnimation(this,R.anim.slide_out_left);
viewFlipper.showNext();
tabHost.setCurrentTab( (tabHost.getCurrentTab()+1 ) % NUMTABS );
}
private void swipeRight() {
viewFlipper.setInAnimation(this, android.R.anim.slide_in_left);
viewFlipper.setOutAnimation(this,android.R.anim.slide_out_right);
viewFlipper.showPrevious();
tabHost.setCurrentTab( (tabHost.getCurrentTab()+(NUMTABS-1) ) % NUMTABS ); //loop around to avoid -1
}
Мой макет:
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" />
<ViewFlipper
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@android:id/tabs"
android:layout_above="@+id/search_button"
android:padding="5dp" >
<ListView android:id="@+id/list1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:choiceMode="multipleChoice"
android:layout_alignParentTop="true"
android:textFilterEnabled="true"/>
<ListView android:id="@+id/list2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:choiceMode="multipleChoice"
android:layout_alignParentTop="true"
android:textFilterEnabled="true"/>
<ListView android:id="@+id/list3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"/>
</ViewFlipper>
<Button android:id="@+id/search_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="Search" />
</RelativeLayout>