gpt4 book ai didi

java - android fragment 可以重复使用吗?

转载 作者:行者123 更新时间:2023-12-01 05:21:33 27 4
gpt4 key购买 nike

Android fragment 是否可重用 - 我的意思是如果我可以使用如下代码:

class MyTabActivity extends FragmentActivity implements OnClickListener {

Fragment[] tabs = new Fragment[3];

@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.settings_activity);
findViewById(R.id.button1).setOnClickListener(this);
findViewById(R.id.button2).setOnClickListener(this);
findViewById(R.id.button3).setOnClickListener(this);

//first xml-defined fragment, it is inside
//FrameLayout with id R.id.loadTarget -> see openTab()
tabs[0] = getSupportFragmentManager().findFragmentById(
R.id.firstFragment);
}

private void openTab(int i) {
final FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.loadTarget, getTabFragment(i));
ft.addToBackStack(null);
ft.commit();
}

private Fragment getTabFragment(int i) {
if(tabs[i] == null) {
switch(i) {

//0-tab fragment has been allready
//retrieved in onCreate

case 1:
tabs[1] = new MySecondTabFragment();
break;
case 2:
tabs[2] = new MyThirdTabFragment();
break;
}
}
return tabs[i];
}

@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.button1:
openTab(0);
break;
case R.id.button2:
openTab(1);
break;
case R.id.button3:
openTab(2);
break;
}
}
}

最佳答案

是的, fragment 是可重用的,您可以多次将 fragment 附加/分离到 Activity 。正如您在文档中看到的,分离后, fragment 会被销毁,然后在添加到另一个 Activity 时再次创建。

关于java - android fragment 可以重复使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10338857/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com