从头重新创建片段时Android使用哪个线程?

问题描述 投票:-1回答:1

我有一个ViewPager。更改某些数据后,我通过调用ViewPager.setAdapter(new Adapter)再次为ViewPager设置适配器。我想知道的是,片段重新创建了(它跳转到onDestroyView,然后onCreateView),而我的[[Edittext无法再次设置文本。如果我从FragmentTransaction中删除所有Fragment,然后从setAdapter中删除,则Fragment创建一个新的->我Edittext很好地设置了文本。那么Fragment是否不是从UI线程重新创建本身? (因为我尝试了edditext.post和我的第一个方案中的edditext)。这是代码

适配器:

public class PagerAdapter extends FragmentPagerAdapter { private final ArrayList<Fragment> fmAct; public PagerAdapter(FragmentManager supportFragmentManager, ArrayList<Fragment> fm) { super(supportFragmentManager); fmAct = fm; } @Override public Fragment getItem(int position) { return fmAct.get(position); } @Override public int getCount() { return fmAct.size(); } @Override public int getItemPosition(@NonNull Object object) { return POSITION_NONE; } @Override public CharSequence getPageTitle(int position) { return ((PrFragment) getItem(position)).getFragmentName(); }

重新设置适配器时该怎么办

fm.clear(); fragmentAttendanceCome = new FragmentAttendanceCome(); fragmentAttendanceCome.setFragmentName(getString(R.string.title_attendance)); fragmentAttendanceCome.setParentActivity(this); fragmentAssessment = new FragmentAssessment(); fragmentAssessment.setFragmentName(getString(R.string.daily_evaluation)); fragmentAssessment.setParentActivity(this); fragmentInfo = new FragmentInfo(); fragmentInfo.setParentActivity(this); fragmentInfo.setFragmentName(getString(R.string.title_infomation)); fm.add(fragmentAttendanceCome); fm.add(fragmentAssessment); fm.add(fragmentInfo); viewPager.setAdapter(new PagerAdapter(getSupportFragmentManager(), fm));

这是我的片段:

public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { textview.setText(data) // i already Bind it but i lazy to copy it,everything work well }

android fragment android-lifecycle
1个回答
0
投票
idk你们为什么拒绝投票,请提供一些理由。谢谢
© www.soinside.com 2019 - 2024. All rights reserved.