我的数据在两个片段之间传递,如下所示:
Fragment newFragment = new NewFragment();
Bundle data = new Bundle();
data.putString("number", number[1]);
newFragment.setArguments(data);
getFragmentManager().beginTransaction().add(android.R.id.content, newFragment).attach(newFragment).commit();
我也试过这样:
Fragment newFragment = new NewFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction;
Bundle data = new Bundle();
data.putString("number", number[1]);
newFragment.setArguments(data);
transaction.replace(android.R.id.content, newFragment);
transaction.addToBackStack(null);
// Commit the transaction
transaction.commit();
第一种方式传递数据但仍与屏幕重叠,第二种方式不传递数据并与屏幕重叠。在我提交交易后,我看到我的标签仍然在第二个,而它应该在第一个。(我想,因为我要更换它,这就是原因)。
有没有办法将数据传递到另一个片段并让它不重叠地转到另一个片段选项卡?
这是我通常在片段之间切换的方式
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
mFragment = new CurrentFragment();
ft.add(android.R.id.content, mFragment);
ft.attach(mFragment);
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
ft.remove(mFragment);
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
PS我通过单击按钮进行数据传输。
谢谢
更新
两种方式都有效。NewFragment 方面的一些东西。但是它们仍然重叠