Я пытаюсь выяснить, как моя активность решает, какой фрагмент выбрать. У меня есть список фрагментов, и когда вы нажимаете на любой из них, все они отображают одно и то же. Я хочу иметь возможность отображать свои 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. Любая помощь приветствуется.




Вы открываете только WorkoutFragment1. Вы можете создавать другие фрагменты. И вы должны проверить свою активность, как это.
UUID workoutId = (UUID)
getIntent().getSerializableExtra(EXTRA_WORKOUT_ID);
Log.d("createFragment UUID", workoutId.toString());
if (workoutId==idOfWorkoutFragment1){
return WorkoutFragment1.newInstance();
}else if (...){
....
....
}
Большое спасибо, это помогло мне найти способ собрать все это вместе и работать!