java - Android - 如何从 Fragment 访问父 Activity 中的 getter 方法

标签 java android android-fragments

我有一个 FragmentActivity,它具有我需要在 Fragment 中使用的值。

我就是这样做的,但我不知道如何访问 FragmentActivity 中的 getter。

ItemDetailActivity

public class ItemDetailActivity extends FragmentActivity implements ActionBar.TabListener {

    public String getItem_id() {
        return item_id;
    }

    public String getUser_id() {
        return user_id;
    }
    ...
}

ItemPhotosFragment

public class ItemPhotosFragment extends Fragment {
    public ItemPhotosFragment() {
        user_id = getActivity().getUser_id();
    }
}

如您在 FragmentActivity 中所见,我正在实现 TabListener。所以我想将值传递给所有选项卡( fragment )。

我该怎么做?从 getActivity 访问是最佳实践,因为我在这里看到了一些建议的解决方案。

最佳答案

类型转换为父 Activity :

将这段代码写在 fragment 中的 onActivityCreated 中,而不是在构造函数中:

user_id =((ItemDetailActivity )getActivity()).getUser_id();

关于 fragment 的life-cycle . onActivityCreated 在 fragment 成为 Activity 的一部分时调用,这是 getActivity() 不返回 null 的第一个回调

关于java - Android - 如何从 Fragment 访问父 Activity 中的 getter 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21252503/

相关文章:

java - 我想从 Java 日期中获取年、月、日等,以与 Java 中的公历日期进行比较。这可能吗?

java - Json 序列化为带有嵌套 List<pojo> 属性的 java pojo

java - 恢复操作栏

java - 在 Android 中区分 CJK 语言(中文、日文、韩文)

android - 在 fragment android 上按下后退按钮?

android - 如何从子 Activity 更改父 Activity 布局

java - 使用谓词过滤

java - JBoss 中多个 War 应用程序的多个 hibernate 配置

android - 无法生成签名的 apk? [发生重复平台类错误]

android - ActionBar 选项卡中的 Fragment 替换为 ViewPager