gpt4 book ai didi

android - 销毁和重构 FragmentPagerAdapter

转载 作者:行者123 更新时间:2023-11-30 01:56:51 26 4
gpt4 key购买 nike

我有一个显示可变数量 fragment 的 FragmentPagerAdapter。其中每个 Fragment 的 onCreateView 方法如下所示:

public void onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
if (container == null)
return null;

View v = inflater.inflate(R.layout.my_fragment, container, false);
TextView tv = (TextView)v.findViewById(R.id.my_text_view);
Log.d(TAG, "Setting TextView text to: " + someString);
tv.setText(someString); // Where someString is some global that will change later.
}

接下来,我将 someString 更改为某个新值。然后我重建 FragmentPagerAdapter。我的 Intent 是摧毁旧的并重新开始:

mMyFragmentPagerAdapter = new MyFragmentPagerAdapter(...);
mMyViewPager.setAdapter(mMyFragmentPagerAdapter);

我在 Fragment 中的调试语句按预期显示了字符串的新值,但 TextView 仍显示字符串的旧值。

有人知道这是怎么回事吗?

最佳答案

已修复!

我的 TextView 实际上是一个 EditText,所以我开始寻找为什么 EditText 可能不会刷新,StackOverflow 又来拯救了:

EditText Settext not working with Fragment

原来是EditText在Fragment的onCreateView方法刷新有问题。所以我将我的代码从 onCreateView 移到 onStart 中,它成功了!

我很想知道为什么 EditText 无法在 onCreateView 中刷新。这太奇怪了。

关于android - 销毁和重构 FragmentPagerAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32085909/

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