gpt4 book ai didi

android - 从 Fragment 对象访问 FragmentActivity 中的元素

转载 作者:太空狗 更新时间:2023-10-29 15:43:20 24 4
gpt4 key购买 nike

我有一个带有 FragmentPagerAdapter 的 FragmentActivity,它包含许多 Fragment 对象,我可以通过这些对象进行水平滑动。

我想知道是否可以从 Fragment 对象中访问 FragmentActivity 中的元素(“elementToBeChanged”)?我想将 Fragment 类中的字符串传递给 FragmentActivity 对象中的 TextView 元素。

public class GalleryPagerActivity extends FragmentActivity implements OnClickListener {

private TextView elementToBeChanged;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

super.setContentView(R.layout.gallery_pager);

elementToBeChanged = (TextView) findViewById(R.id.tvTop);
elementToBeChanged.setOnClickListener(this);

}
}

我该怎么做?每次出现 Fragment 对象(通过滑动)时,都必须更新 TextView 元素。

它应该看起来像这样:

public class GalleryFragment extends Fragment {

private FragmentActivity fa;
private LinearLayout ll;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

fa = super.getActivity();

ll = (LinearLayout) inflater.inflate(R.layout.gallery_fragment, container, false);
...
// ////////
// UPDATE THE "TextView elementToBeChanged" object in the parent FragmentActivity class HERE WHENEVER THIS FRAGMENTS BECOMES ACTIVE/VISIBLE...
// ////////

return ll;
}

最佳答案

在您的 GalleryPagerActivity 中创建一个函数,例如 updateTextView(String text)。该函数会将 TextView 设置为任何输入值。然后在您的 GalleryFragment 中只需调用此函数,并使用要显示的文本:

    ((GalleryPagerActivity)getActivity()).updateTextView("my text");

关于android - 从 Fragment 对象访问 FragmentActivity 中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9396678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com