从详细信息视图返回时,活动丢失数据

洛鲁瓦伊

我有一个ListView列表中的每个元素都有其自己的详细信息视图。每个详细视图也都有其“详细视图”。单击列表中的某个项目后,我将该项目的ID发送到第一个详细信息视图(使用Intent),然后使用该ID来获取数据。但是,当我转到第二个详细信息视图并向后导航时,“活动”将抛出一个NullPointerException,因为(当然)getIntent().getExtras()现在为空。

有没有一种方法可以解决此问题而不必更改我的方法?如果不是,我应该怎么做才能解决这个问题?谢谢。

一种方法是将这些附加信息发送到详细信息视图,然后在向后导航时,将这些附加信息发送回去,因此当您的活动(带有listView的活动)不会崩溃。

它看起来像:

baseActivity.java(这是带有ListView的那个)

Intent intent = new Intent(this, detailView.class);
intent.putExtra("nameHere1", valueHere1);
intent.putExtra("nameHere2", valueHere2);
//just put extra's here
startActivity(intent);
finish();

并且在您的detailView.java中将在onBackPressed中执行以下操作:

Intent intent = new Intent(this, baseActivity.class);
intent.putExtra("nameHere1", getIntent().getExtra("nameHere1"));
intent.putExtra("nameHere2", getIntent().getExtra("nameHere2"));
//just put extra's here
startActivity(intent);
finish();

另一个解决方案是不调用finish();baseActivity,您的活动将如下所示:

baseActivity.java(这是带有ListView的那个)

Intent intent = new Intent(this, detailView.class);
intent.putExtra("nameHere1", valueHere1);
intent.putExtra("nameHere2", valueHere2);
//just put extra's here
startActivity(intent);

detailView.java会在onBackPressed中执行以下操作:

finish();

用这种方法,您不会“杀死” baseActivity,因此当detailView出现在屏幕上时,它的值仍然存在。但是,我并不真正支持这种方法,因为它占用了不必要的RAM。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从详细信息视图返回时,Flutter TabBar重置索引

来自分类Dev

将数据从表视图传递到详细信息视图时,详细信息视图未更新

来自分类Dev

唯一字段在表单提交时返回详细信息视图

来自分类Dev

DRF UpdateAPI 视图返回“详细信息”:“未找到”。

来自分类Dev

列表视图的详细信息视图

来自分类Dev

当我处于“活动详细信息”中时,如何关闭“活动首页”?

来自分类Dev

如何设置视图或活动来处理以前的listactivity?例如“查看完整的详细信息页面”

来自分类Dev

TableView的详细信息视图,解析

来自分类Dev

默认详细信息视图uisplitview

来自分类Dev

使用二进制文件时丢失WCF FaultException详细信息

来自分类Dev

使用二进制文件时丢失WCF FaultException详细信息

来自分类Dev

从表格视图中选择时,在多个详细信息视图之间进行排序

来自分类Dev

Sencha Touch 2.3:将数据从列表视图推送到详细信息视图

来自分类Dev

从plist在segue中传递数据。表视图到详细信息视图

来自分类Dev

无法将数据从集合视图传递到 Xcode 中的详细信息视图

来自分类Dev

当主数据/明细处于活动状态并且至少展开了一行详细信息时,Ag-grid更新数据将失败

来自分类Dev

返回当前用户的详细信息

来自分类Dev

返回当前用户的详细信息

来自分类Dev

返回嵌套表单的详细信息

来自分类Dev

将数据从主数据发送到详细信息视图

来自分类Dev

如何从表视图控制器转到详细信息控制器然后返回

来自分类Dev

从“详细信息视图”返回后如何禁用选定的表格单元突出显示(“后退”)

来自分类Dev

基于Django类的视图不返回当前用户详细信息

来自分类Dev

还原后,为什么我的应用程序不返回到详细信息视图?

来自分类Dev

还原后,为什么我的应用程序不返回到详细信息视图?

来自分类Dev

如何从表视图控制器转到详细信息控制器然后返回

来自分类Dev

在单击列表视图的项目之前,如何通过获取输入到数据库的详细信息来显示详细信息视图

来自分类Dev

详细信息视图中的上一个页面的详细信息视图-Django

来自分类Dev

Ajax添加详细信息时出错

Related 相关文章

  1. 1

    从详细信息视图返回时,Flutter TabBar重置索引

  2. 2

    将数据从表视图传递到详细信息视图时,详细信息视图未更新

  3. 3

    唯一字段在表单提交时返回详细信息视图

  4. 4

    DRF UpdateAPI 视图返回“详细信息”:“未找到”。

  5. 5

    列表视图的详细信息视图

  6. 6

    当我处于“活动详细信息”中时,如何关闭“活动首页”?

  7. 7

    如何设置视图或活动来处理以前的listactivity?例如“查看完整的详细信息页面”

  8. 8

    TableView的详细信息视图,解析

  9. 9

    默认详细信息视图uisplitview

  10. 10

    使用二进制文件时丢失WCF FaultException详细信息

  11. 11

    使用二进制文件时丢失WCF FaultException详细信息

  12. 12

    从表格视图中选择时,在多个详细信息视图之间进行排序

  13. 13

    Sencha Touch 2.3:将数据从列表视图推送到详细信息视图

  14. 14

    从plist在segue中传递数据。表视图到详细信息视图

  15. 15

    无法将数据从集合视图传递到 Xcode 中的详细信息视图

  16. 16

    当主数据/明细处于活动状态并且至少展开了一行详细信息时,Ag-grid更新数据将失败

  17. 17

    返回当前用户的详细信息

  18. 18

    返回当前用户的详细信息

  19. 19

    返回嵌套表单的详细信息

  20. 20

    将数据从主数据发送到详细信息视图

  21. 21

    如何从表视图控制器转到详细信息控制器然后返回

  22. 22

    从“详细信息视图”返回后如何禁用选定的表格单元突出显示(“后退”)

  23. 23

    基于Django类的视图不返回当前用户详细信息

  24. 24

    还原后,为什么我的应用程序不返回到详细信息视图?

  25. 25

    还原后,为什么我的应用程序不返回到详细信息视图?

  26. 26

    如何从表视图控制器转到详细信息控制器然后返回

  27. 27

    在单击列表视图的项目之前,如何通过获取输入到数据库的详细信息来显示详细信息视图

  28. 28

    详细信息视图中的上一个页面的详细信息视图-Django

  29. 29

    Ajax添加详细信息时出错

热门标签

归档