我有一个带有自定义布局的 ListFragment。我要做的是使用 ViewFlipper 动画将我的 ListView 切换到相同的布局中。这实际上可行,但是当我使用 ArrayAdapter 填充两个 ListViews 时,setListAdapter() 似乎并没有刷新我的第二个 ListView,即使我在调用 showNext() 后使用它也很困难。如何告诉我的 ListFragment 我已更改视图?甚至可能吗?
这是我的自定义布局,因为我也在使用自定义 ListView,所以我必须对两个列表都使用 android:id="@id/android:list"。
<LinearLayout>
<TextView/>
<ListView
android:id="@id/android:list"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:drawSelectorOnTop="false"/>
</LinearLayout>
<LinearLayout>
<TextView/>
<ListView
android:id="@id/android:list"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:drawSelectorOnTop="false"/>
</LinearLayout>
</ViewFlipper>
这是我的代码的一部分:
headerFlipper = (ViewFlipper)getActivity().findViewById(R.id.viewFlipper);
headerFlipper.showNext();
// at this point a simple getListView() returns the same first ListView object.
// this changes the first ListView (not visible anymore)
// how to change the second one?
setListAdapter(new ArrayAdapter<DummyContent.DummyMessage>(getActivity(),
android.R.layout.simple_list_item_activated_1,
android.R.id.text1, DummyContent.MESSAGES));
有什么建议吗?提前致谢。