我有一个活动(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/

10-10 23:46