我有一个活动(android.support.v4.app.fragmentactivity)和一个viewflipper,其中有几个片段src/com.package.WelcomeActivity.java
package com.package;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;
public class WelcomeActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.welcome, menu);
return true;
}
}
res/layout/activity_welcome.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ViewFlipper
android:id="@+id/flipper"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<fragment
android:id="@+id/flip2"
class="com.package.fragment2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
<fragment
android:id="@+id/flip2"
class="com.package.fragment2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
<!-- ... -->
<fragment
android:id="@+id/flipN"
class="com.package.fragmentN"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</ViewFlipper>
</LinearLayout>
现在每个片段都由两个主要部分组成:内容和操作(back,continue),当continue action上的用户选项卡在片段中执行函数时,但是我不知道如何调用片段中的
ViewFlipper.showNext()
和ViewFlipper.showPrevious()
。 最佳答案
让你的活动来做吧。
在WelcomeActivity
中创建调用ViewFlipper.showNext()
和ViewFlipper.showPrevious
的公共方法,如下所示:
public void showNextFragment() {
mViewFlipper.showNext();
}
public void showPreviousFragment() {
mViewFlipper.showPrevious();
}
在片段中,可以调用活动的方法,如下所示:
WelcomeActivity parent = (WelcomeActivity) getActivity();
parent.showNextFragment();
// or parent.showPreviousFragment();
我只是在这里输入了代码,没有尝试,可能会有错别字,所以不要只是复制粘贴。但我希望这很好地说明了我的观点。
关于android - 在 fragment 之间导航(ViewFlipper),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15527527/