膨胀ListView,第二次变得透明

时间:2014-03-21 05:44:25

标签: android listview transparency

在Main Layout中我有一个ViewFlipper,里面有两个ListView,后面有一段摘录。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/chinese_background"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
[...]
<ViewFlipper
    android:id="@+id/vFlipper"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@+id/textStatus"
    android:layout_below="@+id/buttonSearch" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <ListView
            android:id="@+id/lstVocab01"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
        </ListView>
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <ListView
            android:id="@+id/lstVocab02"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
        </ListView>
    </LinearLayout>
</ViewFlipper>
[...]

我在利用相同 CursorAdapter(我正在从数据库中检索数据)的ListView中扩充相同的项目布局。遵循项目布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<TextView
    android:id="@+id/textLine01"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello_world"
    android:textSize="@dimen/text_big" />

<TextView
    android:id="@+id/textLine02"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/app_name"
    android:textSize="@dimen/text_normal" />

</LinearLayout>

与主布局一样,没有任何改变样式或任何相关的东西。除了在正确的TextViews中膨胀DB字段外,适配器什么都不做。

更新两个游标的方式没有区别。给定CursorAdapterVocabulary adapter_c;CursorAdapterVocabulary adapter_e;正确实例化并正确工作。

adapter_c.changeCursor(cursor);
adapter_c.notifyDataSetChanged();
if (viewFlipper.getDisplayedChild() == 1) {
    viewFlipper.setInAnimation(this, R.anim.in_from_left);
    viewFlipper.setOutAnimation(this, R.anim.out_to_right);
    viewFlipper.showPrevious();
}

[...]

adapter_e.changeCursor(cursor);
adapter_e.notifyDataSetChanged();
if (viewFlipper.getDisplayedChild() == 0) {
    viewFlipper.setInAnimation(this, R.anim.in_from_right);
    viewFlipper.setOutAnimation(this, R.anim.out_to_left);
    viewFlipper.showNext();
}

但是:第一个ListView是可见的。第二个视图有一种alpha透明度,即使强制alpha为1,我也无法删除。

请注意:

  • 其余代码完美无缺,每次使用正确的数据更新ListView
  • 这不是ViewFlipper的问题,我曾经在运行时替换ListView时出现此问题
  • 如果我在另一个Activity中使用第二个ListView
  • ,我就不会遇到此问题
  • 问题是Android版/设备无关(在三星SPlus 2.3.6,SIII 4 +,仿真器4.3.0上试用)

这是两个视图之间差异的图像,我用中文词汇填充数据:

enter image description here

我不知道该尝试什么。如果需要,请向我询问更多细节。

0 个答案:

没有答案