在滑动菜单中使用 Activity 而不是 Fragments
Use Activities instead of Fragments in a Sliding Menu
我有一个包含一些 Fragment 的滑动菜单,但我想用 Activities 更改它,可以吗?
private void replaceFragment(int pos) {
Fragment fragment = null;
switch (pos) {
case 0:
fragment = new X();
break;
case 1:
fragment = new Y();
break;
case 2:
fragment = new Z();
break;
default:
fragment = new X();
break;
}
if (null != fragment) {
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(R.id.main_content, fragment);
transaction.addToBackStack(null);
transaction.commit();
}
我不知道如何更改代码的最后一部分。 --> FragmentManager 和 --> FragmentTransaction。谢谢!!
是的,您可以使用 Activity 代替片段,但是
您面临以下挑战。
- 您需要在每个 activity 上实现滑动抽屉,如果您使用 fragment,那么 HomeActivity 滑动抽屉将显示在所有 fragment
上
如果您想实施 activity
,请像这样更新您的代码
private void replaceFragment(int pos) {
Intent intent = null;
Context context = this;
switch (pos) {
case 0:
intent = new Intent(context, SecondActivity.class);
break;
case 1:
intent = new Intent(context, ThirdActivity.class);
break;
case 2:
intent = new Intent(context, FourthActivity.class);
break;
default:
intent = new Intent(context, DefaultActivity.class);
break;
}
if (intent != null) {
startActivity(intent);
}
}
我有一个包含一些 Fragment 的滑动菜单,但我想用 Activities 更改它,可以吗?
private void replaceFragment(int pos) {
Fragment fragment = null;
switch (pos) {
case 0:
fragment = new X();
break;
case 1:
fragment = new Y();
break;
case 2:
fragment = new Z();
break;
default:
fragment = new X();
break;
}
if (null != fragment) {
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(R.id.main_content, fragment);
transaction.addToBackStack(null);
transaction.commit();
}
我不知道如何更改代码的最后一部分。 --> FragmentManager 和 --> FragmentTransaction。谢谢!!
是的,您可以使用 Activity 代替片段,但是 您面临以下挑战。
- 您需要在每个 activity 上实现滑动抽屉,如果您使用 fragment,那么 HomeActivity 滑动抽屉将显示在所有 fragment 上
如果您想实施 activity
,请像这样更新您的代码private void replaceFragment(int pos) {
Intent intent = null;
Context context = this;
switch (pos) {
case 0:
intent = new Intent(context, SecondActivity.class);
break;
case 1:
intent = new Intent(context, ThirdActivity.class);
break;
case 2:
intent = new Intent(context, FourthActivity.class);
break;
default:
intent = new Intent(context, DefaultActivity.class);
break;
}
if (intent != null) {
startActivity(intent);
}
}