我已经编写了代码,通过选择列表中的特定项目来转到下一个视图。 列表包含许多项目,我想在不同的项目选择上显示不同的textview。 我对以下代码有疑问..
listview.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
temp=a.getItemAtPosition(position).toString();
if (temp=="Aries")
{
ViewFlipper viewflipper= (ViewFlipper) findViewById(R.id.viewflipper);
TextView text = (TextView) v.findViewById(R.id.item1);
viewflipper.showNext();
}
if (temp=="Taurus")
{
ViewFlipper viewflipper= (ViewFlipper) findViewById(R.id.viewflipper);
viewflipper.showNext();
TextView text = (TextView) v.findViewById(R.id.item2);
}
xml是..
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ViewFlipper android:id="@+id/viewflipper"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView android:id="@+id/listview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/item1"
android:background="@drawable/aries28"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="This is for me"
/>
<TextView
android:id="@+id/item2"
android:background="@drawable/t28"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="This is for you"
/>
</ViewFlipper>
</AbsoluteLayout>
但是,当我运行此代码时,它会在下一个视图中为这两个项目显示相同的textview,即它显示相同的内容(“This is for Me”)。我该如何解决这个问题?
提前致谢..
答案 0 :(得分:1)
那是因为你没有跳过列表的下一个视图,即TextView“这是为了我的”。如果你执行showNext(),则flipper将始终显示在xml布局中声明的下一个视图,因此,使用viewflipper.setDisplayedChild(whichChild)kip第二个视图;
欢呼声