我的任务是确定为什么一个5年前的应用程序(由几个团队工作)通过API 19支持API 8只有API 15的这个特殊问题。
问题是应用程序没有在其中显示任何数据2的ListViews。
一些细节:
logcat中没有报告错误。我在API 15和API 16模拟器上运行应用程序,它们的日志看起来几乎相同。
调用listview.getAdapter()。getCount()会返回大于0的预期值。
(UPDATE) 3.未调用listview.getItem()和listview.getView()。
listview.getVisibility()确实返回View.VISIBLE
奇怪的是,退出应用程序并重新启动它,允许显示数据(!)
我已经搜索了几天关于API 16工作正常的原因,例如"修复了什么"在15到16之间,但没有任何有意义的东西出现。我一直害羞地问这里因为这让我听起来很疯狂:-) 我希望有人在4.0.3中遇到过这个问题,可以给我下一个解决这个问题的途径。发布代码将非常困难,但任何合理的请求都将得到愉快的遵守。谢谢!
答案 0 :(得分:2)
没有人会相信我;-),但解决方法是删除:
android:animateLayoutChanges="true"
...来自应用程序主要布局文件中的LinearLayout(其中包含一个支持ViewPager,其根目录是TabHost,而不是那些必然重要)。
我自己也无法相信,所以我更换并删除了几次,它会在“打破”和“工作”之间交替。
我不知道为什么会这样,但我在这里列出了.xml文件
<?xml version="1.0" encoding="utf-8"?>
<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"
android:background="@color/aim_light_grey" >
<!-- android:animateLayoutChanges below was the problem!!! -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:baselineAligned="false"
android:animateLayoutChanges="true"
android:orientation="vertical">
<LinearLayout
android:id="@+id/no_network_indicator"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/warn_gray" />
<TextView
android:id="@+id/tv_not_connected"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:background="@color/light_grey"
android:paddingBottom="3dp"
android:paddingTop="3dp"
android:text="@string/not_connected"
android:textSize="14sp" />
</LinearLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="44dip"
android:layout_weight="0"
android:background="@color/blue"
android:visibility="gone" >
<ImageView
android:id="@+id/logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:contentDescription="@string/image_logo_accessibility_description"
android:src="@drawable/action_1" />
<TabWidget
android:id="@android:id/tabs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" />
</RelativeLayout>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</FrameLayout>
</LinearLayout>
</TabHost>