【问题标题】:How to obtain adapter from fragment in activity without getting null pointer exception?如何从活动中的片段获取适配器而不会出现空指针异常?
【发布时间】:2016-02-28 11:47:34
【问题描述】:

正如标题所说,在我的CustomListFragment 中创建CursorAdapter 实例的方法是什么。 MainActivity 布局在布局文件中包含 CustomListFragment。我在CustomListFragment 中添加了方法getAdapter(),并在MainActivity 中创建了片段实例,但是当我从MainActivity 调用方法时,我有getAdapter() 的方法调用,即发生adapter = customListFragment.getAdapter(); 异常。

有什么方法可以避免重复代码,并在一个类中完成所有方法调用和适配器初始化?另外,我尝试了界面,但没有运气。

【问题讨论】:

  • 乍一看,您的线路似乎有问题。为什么活动不需要直接拥有适配器访问权限?
  • 我有另一个将项目添加到数据库的活动,但是,当我返回主活动时,添加的项目丢失,直到我刷新并更改光标。您可以在文件夹活动和片段中查看github link 的代码。
  • 不过,这里不应该涉及活动。看我的回答

标签: java android android-fragments android-adapter android-cursoradapter


【解决方案1】:

我有另一个将项目添加到数据库的活动,但是当我返回主活动时,添加的项目丢失了,直到我刷新并更改光标。

在片段的onResume() 中更改光标就足够了。无需涉及父活动。

【讨论】:

  • 是的,但我认为它会调用方法两次,在创建和重新启动时,我忘记了片段每次都从 onCreateView 重新创建。
  • 如果您确实将光标设置在onCreate() 中,只需删除此代码并将其全部设置在onResume() 中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-19
  • 2013-10-18
  • 1970-01-01
  • 2013-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多