我將(至少)試圖實現只有一個活性和內容框架內更換各種片段。你應該知道,例如包含一個你應該選擇不同的方法一個;)
因此,有一個菜單,你可以如下開始的內容片段(比較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綱要,你怎麼可以在內容框架更換片段。當然還有一些挑戰需要解決。
無論如何,我希望我能有點幫助...乾杯!
能否請您進一步解釋:)什麼是newFragment這裏如何更換片段的內容框架。 – dracula 2013-05-03 20:39:43
看這一個:用於https://github.com/jfeinstein10/SlidingMenu/blob/master/example/src/com/slidingmenu/example/fragments/ResponsiveUIActivity.java'switchContent()'和這一個:HTTPS:/ /github.com/jfeinstein10/SlidingMenu/blob/master/example/src/com/slidingmenu/example/fragments/BirdMenuFragment.java用於'switchFragment()';另外我修正了這個問題:上面有'new contentFragment' - 應該沒有'new'。 'newFragment'是什麼意思?我沒有使用它。 – Trinimon 2013-05-03 21:09:12
Okey,我現在明白了。在我的代碼中,我沒有不同的片段。我有活動。爲了檢查ListActivity是否擴展BaseActivity,我如何在ListActivity中切換內容? – dracula 2013-05-05 12:58:03