我有两个片段,一个带有对象列表,另一个是在第一个列表中选择的对象。当我从第一个选项卡添加项目时,必须用新数据为第二个选项卡充电。现在我这样做:
FragmentTransaction ft = getFragmentManager().beginTransaction();
Fragment fav = new TabFavorites();
ft.replace(R.id.fav_layout, fav);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.commit();
问题是选项卡的前一个实例没有被删除并保留在内存中。我该怎么办?任何想法?
另一个片段更清楚,当我更新片段时,按钮升级重复,这是我使用的代码:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.actualizar:{
Log.d("MENU","ACTUALIZAR");
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
Fragment cha = new TabChannels();
ft.replace(R.id.list_layout, cha);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.commit();
}
添加按钮以更新 ActionBarSherlock:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater = getSherlockActivity().getSupportMenuInflater();
inflater.inflate(R.menu.menu_channels, menu);
}
我删除了这一行:ft.addToBackStack(null);