android在另一个片段中进行更改

android在另一个片段中进行更改,android,android-layout,android-fragments,android-intent,android-activity,Android,Android Layout,Android Fragments,Android Intent,Android Activity,我有以下情况: 在我的主要活动中,我使用viewpager和fragmentpageradapter使用滑动选项卡 假设我有两个标签。 在表2中,在一个事件上(比如说按下按钮),我使用startActivityForResult启动一个新的活动。 现在,当我从新活动(在onActionResult中)返回到选项卡2时,我希望选项卡1得到刷新 我目前正在使用getActivity.recreate()执行此操作 这是考虑性能的好方法还是有其他方法 我在创建代码时的主要活动是: @Override

我有以下情况:

在我的主要活动中,我使用viewpager和fragmentpageradapter使用滑动选项卡

假设我有两个标签。 在表2中,在一个事件上(比如说按下按钮),我使用startActivityForResult启动一个新的活动。 现在,当我从新活动(在onActionResult中)返回到选项卡2时,我希望选项卡1得到刷新

我目前正在使用getActivity.recreate()执行此操作

这是考虑性能的好方法还是有其他方法

我在创建代码时的主要活动是:

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

        setContentView(R.layout.activity_my);

        final ViewPager viewPager = (ViewPager) findViewById(R.id.pager);

        // setup action bar for tabs
        final ActionBar actionBar = getActionBar();

        TabsPagerAdapter mAdapter = new TabsPagerAdapter(getFragmentManager());
        viewPager.setAdapter(mAdapter);

        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        actionBar.setDisplayShowTitleEnabled(true);

        // Create a tab listener that is called when the user changes tabs.
        ActionBar.TabListener tabListener = new ActionBar.TabListener() {
            public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
                viewPager.setCurrentItem(tab.getPosition());
            }

            public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
            }

            public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
            }
        };    

        ActionBar.Tab tab = actionBar.newTab()
                .setText(R.string.tab1)
                .setTabListener(tabListener);
        actionBar.addTab(tab, 0, false);

        tab = actionBar.newTab()
                .setText(R.string.tab2)
                .setTabListener(tabListener);
        actionBar.addTab(tab, 1, true);  

        // on swiping the viewpager make respective tab selected
        viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

            @Override
            public void onPageSelected(int position) {
                getActionBar().setSelectedNavigationItem(position);
            }

            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
            }

            @Override
            public void onPageScrollStateChanged(int arg0) {
            }
        });
    }

viewpager适配器应保存片段。。因此,可以使用getItem(int-position),然后获得所需片段的实例,在片段中可以有一个方法来更新视图或数据。。我想重新创建整个片段或活动将是一种浪费。@Thilek正如我在问题中提到的,我使用的是ViewPagerTableFragment tab1Fragment=(tab1Fragment)fragmentpageradapter.getItem(0);那么从tab1Fragment调用一个方法是否有效?当您返回到上一个活动时,onActivityResult将被激发,并且可以在那里添加行。View pager将根据您使用viewPager.setOffscreenPageLimit(N编号)设置的限制保存片段实例@Thilek不工作,调用Tab1maybe中的方法时出现空对象引用错误。您能否提供活动和查看寻呼机实现代码。。然后其他人可以看一看。。