(少なくとも) 1 つのアクティビティのみを実装し、コンテンツ フレーム内のさまざまなフラグメントを置き換えようとします。この例には、1つを選択する必要があるさまざまなアプローチが含まれていることを知っておく必要があります;)
したがって、メニューとコンテンツのフラグメントがあると、以下のように開始できます (比較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)
andですStartActivity.switchContent(final Fragment fragment)
が、メニュー フラグメント メソッドはアクティビティ メソッドを呼び出して、コンテンツ フレーム内のコンテンツ フラグメントを置き換えます (クラスBirdMenuFragment
とResponsiveUIActivity
例を比較してください)。
これは、SlidingMenu を実装する方法と、コンテンツ フレーム内のフラグメントを置き換える方法の概要にすぎません。もちろん、対処しなければならないいくつかの課題が残されています。
とにかく、少しでもお役に立てれば幸いです...乾杯!