【问题标题】:Fragment / ViewPager in FragmentPagerAdapter not updating its View [closed]FragmentPagerAdapter 中的 Fragment / ViewPager 未更新其视图 [关闭]
【发布时间】:2012-10-03 10:28:34
【问题描述】:

我有一个 FragmentPagerAdapter 包含几个片段。这些 Fragment 的内容发生了变化,但我没有在我的更新函数中获得要更新的 Fragment。 我已经尝试了这些建议,但没有运气:

ViewPager PagerAdapter not updating the View

Android force Fragment to rebuild View

这是我的代码的截图:

private void updateNavigation() {
//update code to redraw the fragment
//not workind
//mNavigationViewPager.getAdapter().notifyDataSetChanged();
        FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        Bundle args = new Bundle();
        AFragment newFragment = new AFragment();
        args.putString("test");
        newFragment.setArguments(args);

        FragmentTransaction transaction = getFragmentManager().beginTransaction();
        transaction.replace(R.id.navigation_pager, newFragment);
        transaction.addToBackStack(null);
        transaction.commit();

这是片段:

public static class AFragment extends Fragment {
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            // Inflate the layout for this fragment, draw layout dynamically
            MyLinearLayout fl = new MyLinearLayout(getActivity());
                    Button btn = new Button(getActivity());
                    btn.setText(String.valueOf(cnt++));   
                    btn.setGravity(Gravity.LEFT);
                    btn.setPadding(28, 7, 0, 0);
                    fl.addView(btn, new MyLinearLayout.LayoutParams(7, 5, 70, 50));
                    fl.setPadding(5, 5, 5, 5);
            }
            return fl;
        }
    }

创建活动: (..)

 mNavigationViewPager = new ViewPager(this);
            mNavigationViewPager.setId(R.id.navigation_pager);
            mTabsAdapter = new TabsAdapter(this, mNavigationViewPager);
    mTabsAdapter.addTab(actionBar.newTab().setText("text1"),
                    fragmentNr1, null);
 actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

当我打电话时

actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);

一个选项菜单交互,然后做

actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

在另一个选项菜单中,片段得到正确更新。

【问题讨论】:

标签: android view


【解决方案1】:

它正在工作,我只是打错了。

【讨论】:

    猜你喜欢
    • 2018-04-02
    • 2016-08-31
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    • 2023-03-13
    • 2014-03-22
    相关资源
    最近更新 更多