【问题标题】:OnPostCreate in FragmentOnPostCreate 在 Fragment 中
【发布时间】:2014-06-14 15:37:43
【问题描述】:

我在 onPostCreate 的 Activity 中使用了 TextWatcher,但现在我将它变成了片段。

Fragment 中 this 的等价物是什么?

  @Override
protected void onPostCreate(Bundle savedInstanceState) {
    mSearchView.addTextChangedListener(filterTextWatcher);
    super.onPostCreate(savedInstanceState);
}

【问题讨论】:

  • 你打算做什么?
  • 好吧,如果我想解释一下,例如翻转手机时,Android 会重新创建活动,并且输入字段状态的自动恢复发生在 onCreate 完成后,TextWatcher 所在的位置添加为 TextChangedListener。该问题的解决方案在于在 onPostCreate 中添加 TextWatcher,该方法在恢复发生后调用。所以我需要在 Activity 中添加一些像 OnPostCreate 这样的东西来在片段中使用
  • 看看片段生命周期,你就会了解自己。 developer.android.com/guide/components/fragments.htmlonActivityCreated
  • 老兄,你能帮我换什么吗 return ((ListViewActivity) mContext).new ListFilter();与,考虑到 ListViewActivity 是一个片段
  • 如果您想要片段中的列表,请使用ListFragment。片段附加到活动。当然我会把它作为答案发布

标签: android android-fragments


【解决方案1】:

查看片段生命周期。等到 Fragment 附加到 Activity 上

http://developer.android.com/guide/components/fragments.html

你可以在onActivityCreated做你的工作。

要获取Context,请使用getActivity()

protected void onPostCreate (Bundle savedInstanceState)

在 API 级别 1 中添加

在 Activity 启动完成时调用(在调用 onStart()onRestoreInstanceState(Bundle) 之后)。 应用程序 一般不会实现这个方法;它适用于系统 在应用程序代码运行后进行最终初始化的类。

派生类必须调用该方法的超类实现。如果他们不这样做,将是一个例外 扔了。

参数savedInstanceState 如果Activity在之前被关闭后正在重新初始化,那么这个Bundle 包含它最近提供的数据 onSaveInstanceState(Bundle)。注意:否则为空。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 2014-12-23
    相关资源
    最近更新 更多