我有一个 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/