android在另一个片段中进行更改
我有以下情况: 在我的主要活动中,我使用viewpager和fragmentpageradapter使用滑动选项卡 假设我有两个标签。 在表2中,在一个事件上(比如说按下按钮),我使用startActivityForResult启动一个新的活动。 现在,当我从新活动(在onActionResult中)返回到选项卡2时,我希望选项卡1得到刷新 我目前正在使用getActivity.recreate()执行此操作 这是考虑性能的好方法还是有其他方法 我在创建代码时的主要活动是: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
@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中的方法时出现空对象引用错误。您能否提供活动和查看寻呼机实现代码。。然后其他人可以看一看。。