java - 选择使用哪个片段的 Android (Java) Activity
问题描述
我试图找出一种方法让我的 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(...){
....
....
}
推荐阅读
- pyspark-sql - 使用参数自动化 PySpark SQL 脚本
- c - 有符号整数类型及其对应的无符号整数类型
- c++ - 在 C++ 中处理字符串流
- html - 无论如何通过反应更改 Microsoft Edge 中的(自定义)滚动条?
- c# - 我正在尝试从数组中的非常量值在 C# 中创建图表
- c++ - 尝试在媒体基础编码中使用 MFT
- javascript - 如何使猫头鹰轮播自动播放?
- r - 在R studio中按作业编号对数据进行排序并减去日期
- git - Visual Studio - 门控签入 - GIT - TF402455
- python - Gunicorn 不提供更新的 Flask 应用程序(带有 Flask 缓存)