你知道如果我在布局中设置一个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>
答案 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