ViewFlipper并且不显示第一项onCreate

时间:2012-02-27 12:56:01

标签: android android-layout

你知道如果我在布局中设置一个ViewFlipper,它总是从第一个项目开始到底部。

但是有没有办法从“onCreate”上的ViewFlipper的第2项或第3项开始?

假设如果计数器== 2,页面将显示< - 2 - > item onCreate。

这是我的onCreate和flipper。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.playlist);}

XML

 <ViewFlipper
    android:id="@+id/flipper"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:inAnimation="@anim/flipin"
    android:outAnimation="@anim/flipout"    >      

    <!-- 1 -->
<LinearLayout
    android:id="@+id/one"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical">            
        <ImageView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:src="@drawable/airongbg"/>

</LinearLayout>
    <!-- 2 -->
<LinearLayout
    android:id="@+id/two"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical">

        <ImageView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:src="@drawable/hopefalls"/>
</LinearLayout>
    <!-- 3 -->    
<LinearLayout
    android:id="@+id/three"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical">

        <ImageView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:src="@drawable/moon"/>
</LinearLayout>

2 个答案:

答案 0 :(得分:6)

使用此

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.playlist);
    ((ViewFlipper) this.findViewById(R.id.flipper)).setDisplayedChild(1); //1 for 2 Since it accept Ordinal number
}

答案 1 :(得分:0)

首先获取要通过

显示的项目的位置
 int id ;
    id=flipper.indexOfChild(ImageView1);

//然后将itm称为

flipper.setDisplayedChild(id);

you will be able to set the desired item