我试图想办法让我的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应用程序非常相似。任何帮助表示赞赏。
您只打开WorkoutFragment1。您可以创建其他片段。你应该像这样检查你的活动。
UUID workoutId = (UUID)
getIntent().getSerializableExtra(EXTRA_WORKOUT_ID);
Log.d("createFragment UUID", workoutId.toString());
if(workoutId==idOfWorkoutFragment1){
return WorkoutFragment1.newInstance();
}else if(...){
....
....
}