Android(Java)Activity选择使用哪个片段

问题描述 投票:2回答:1

我试图想办法让我的Activity决定选择哪个片段。我所拥有的是一个片段列表,当你点击它们中的任何一个时,它们都会显示相同的内容。我希望能够显示我的3个不同的片段,我从一个开始,然后到最后一个,基本上只是反复重复3个。

我的活动代码如下所示

package com.example.ddursteler1.workouttracker;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;

import java.util.List;
import java.util.UUID;

public class WorkoutActivity extends SingleFragmentActivity {

    public static final String EXTRA_WORKOUT_ID = "com.example.ddursteler1.workouttracker.workout_id";

    private static UUID mUUID;


    public static Intent newIntent(Context packageContext, UUID workoutId) {
        Intent intent = new Intent(packageContext, WorkoutActivity.class);
        intent.putExtra(EXTRA_WORKOUT_ID, workoutId);
        return intent;
    }

    @Override
    protected Fragment createFragment() {
        UUID workoutId = (UUID) getIntent().getSerializableExtra(EXTRA_WORKOUT_ID);

        Log.d("createFragment UUID", workoutId.toString());
        return WorkoutFragment1.newInstance(workoutId);
    }
}

我希望WorkoutFragment1成为片段列表中的第一个项目,WorkoutFragment2是第二个,WorkoutFragment3是第三个,然后重复。

我一直在关注The Big Nerd Ranch编程书,因此它与CriminalIntent应用程序非常相似。任何帮助表示赞赏。

java android android-fragments
1个回答
1
投票

您只打开WorkoutFragment1。您可以创建其他片段。你应该像这样检查你的活动。

    UUID workoutId = (UUID) 
    getIntent().getSerializableExtra(EXTRA_WORKOUT_ID);

    Log.d("createFragment UUID", workoutId.toString());
    if(workoutId==idOfWorkoutFragment1){
       return WorkoutFragment1.newInstance();
    }else if(...){
    ....
    ....
    }
© www.soinside.com 2019 - 2024. All rights reserved.