我会(至少)尝试只实现一个活动并替换内容框架中的各种片段。您应该知道该示例包含各种方法,您应该选择一种;)
因此,拥有一个菜单和内容片段,您可以如下开始(也可以比较ResponsiveUIActivity
)。
public class StartActivity extends SlidingFragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
Fragment contentFragment = InitialFragment()
getSupportFragmentManager().beginTransaction()
.replace(R.id.content_frame, contentFragment).commit();
getSupportFragmentManager().beginTransaction()
.replace(R.id.menu_frame, new MenuFragment()).commit();
...
}
public void switchContent(final Fragment fragment) {
// replace fragment in content frame
...
}
在菜单片段中,您可以根据用户的选择(比较BirdMenuFragment
)创建新片段:
public class MenuFragment extends ListFragment {
@Override
public void onListItemClick(ListView lv, View v, int position, long id) {
Fragment newContent = null;
switch (position) {
case 1 : new ThisFragment();
break;
case 2 : new ThatFragment();
break;
case 3 : new AnotherFragment();
break;
}
if (newContent != null) switchFragment(newContent);
}
private void switchFragment(Fragment fragment) {
// call StartActivity.switchContent
...
}
最后,活动和菜单片段之间的粘合是MenuFragment.switchFragment(Fragment fragment)
,StartActivity.switchContent(final Fragment fragment)
而菜单片段方法调用活动方法来替换内容框架中的内容片段(比较类BirdMenuFragment
和ResponsiveUIActivity
示例中的内容)。
这只是您如何实现 SlidingMenu 以及如何替换内容框架中的片段的概述。当然,还有一些挑战需要应对。
无论如何,我希望我能帮上点忙……干杯!