亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

顯示片段內的片段查看器

顯示片段內的片段查看器

牛魔王的故事 2019-11-11 11:02:30
我有一個包含ViewPager的片段。ViewPager與包含一組片段的適配器關聯。加載父片段后,我IllegalStateException看到一條消息:java.lang.IllegalStateException: Recursive entry to executePendingTransactions。一些研究使我得出這樣的結論:系統無法顯示另一個片段中的片段,但是似乎有跡象表明,使用ViewPager可以完全做到這一點(ViewPager中的錯誤與其他片段一起使用))。實際上,如果我向父片段添加一個按鈕,該按鈕mPager.setAdapter(mAdapter)在按下時會調用ViewPager,則ViewPager將成功加載。這是不理想的。然后,問題必須與片段生命周期有關。因此,我的問題是:還有其他人找到解決此問題的方法嗎?有什么方法可以將ViewPager上的適配器的設置延遲到片段事務之后?這是我的父片段代碼:    @Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {    mView = inflater.inflate(R.layout.team_card_master, container, false);    mViewPager = (ViewPager)mView.findViewById(R.id.team_card_master_view_pager);    final Button button = (Button)mView.findViewById(R.id.load_viewpager_button);    button.setOnClickListener(new OnClickListener() {        @Override        public void onClick(View v) {            mViewPager.setAdapter(mAdapter);            button.setVisibility(View.GONE);        }    });    mAdapter = new ViewPagerAdapter(getFragmentManager()); //     mViewPager.setAdapter(mAdapter);    return mView;}和適配器:public class ViewPagerAdapter extends FragmentPagerAdapter {    public ViewPagerAdapter(FragmentManager fm) {        super(fm);    }    @Override    public int getCount() {        if (mCursor == null) return 0;        else return mCursor.getCount();    }    @Override    public Fragment getItem(int position) {        Bundle b = createBundle(position, mCursor);        return TeamCardFragment.newInstance(b);    }}
查看完整描述

3 回答

  • 3 回答
  • 0 關注
  • 466 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號