detalList = bean.getDetalList();//为什么这一段有问题?我的这里的detaList不就是下面的detalList吗?详解必采纳

public class ExercisesDetailActivity extends AppCompatActivity {
    private TextView tv_main_title;
    private TextView tv_back;
    private RelativeLayout rl_title_bar;
    private ListView lv_list;
    private String title;
    private ExercisesBean bean;
    private List<ExercisesDetailBean> detalList;
    private ExercisesDetailAdapter adapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_exercises_detail);
        //获取从习题界面传递过来的习题数据
        bean = (ExercisesBean) getIntent().getSerializableExtra("detalList");
        if (bean != null) {
            title = bean.getChapterName();      //获取习题所在的章节名称
            detalList = bean.getDetalList();//为什么这一段有问题?我的这里的detaList不就是下面的detalList吗?
        }
public class ExercisesBean implements Serializable {
    private static final long serialVersionUID=1L;
    private int id;//章节id
    private String chapterName;//章节名称
    private int totalNum;//习题总数
    private int background;//章节序号背景
    private List<ExercisesDetailBean> detalList;//习题详情列表



    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getChapterName() {
        return chapterName;
    }

    public void setChapterName(String chapterName) {
        this.chapterName = chapterName;
    }

    public int getTotalNum() {
        return totalNum;
    }

    public void setTotalNum(int totalNum) {
        this.totalNum = totalNum;
    }

    public int getBackground() {
        return background;
    }

    public void setBackground(int backgroud) {
        this.background = backgroud;
    }

    public List<ExercisesDetailBean> getDetalList() {
        return detalList;
    }

    public void setDetalList(List<ExercisesDetailBean> detalList) {
        this.detalList = detalList;
    }
}

这里为什么获取数据的时候获取不到啊?我

该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:

在你的代码中,获取 ExercisesBean 对象是通过 getSerializableExtra 方法实现的,其参数应该是 "bean" 而不是 "detalList"。因此,修改以下代码:

bean = (ExercisesBean) getIntent().getSerializableExtra("detalList");

为:

bean = (ExercisesBean) getIntent().getSerializableExtra("bean");

这样就可以正确地获取到 ExercisesBean 对象,并从中获取到 detalList 列表了。


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

从你提供的代码上看,可能是在传递数据的时候出现了问题。你获取数据时使用 key 为 "detalList" 作为标识符,但是在传递时使用 "data",这两个标识符是不一样的。

你可以将传递数据的代码中的 "data" 改为 "detalList",即:

intent.putExtra("detalList", bean);

这样就能正确通过 "detalList" 获取到对应的数据了。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    很抱歉,这个问题给出的信息不足以让我确定detalList是指哪个变量,也无法确定在哪一段代码中获取不到数据。如果可以提供更具体的上下文信息和错误提示信息或异常信息,我可以更准确地回答您的问题。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^