返回列表 發帖
  1. package com.tqc.gdd01;

  2. import android.app.Activity;
  3. import android.app.FragmentTransaction;
  4. import android.os.Bundle;

  5. public class GDD01 extends Activity
  6. {
  7.   public static boolean bIfDebug = false;
  8.   public static String TAG = "HIPPO_DEBUG";
  9.   boolean detailPage = false;

  10.   @Override
  11.   protected void onCreate(Bundle savedInstanceState)
  12.   {
  13.     super.onCreate(savedInstanceState);
  14.     setContentView(R.layout.main);

  15.     if(savedInstanceState == null)
  16.     {
  17.       FragmentTransaction ft = getFragmentManager().beginTransaction();
  18.       ListFragment listFragment = new ListFragment();
  19.       ft.add(R.id.displayList, listFragment, "List_Fragment");
  20.       ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
  21.       ft.commit();
  22.     }

  23.     if(findViewById(R.id.displayDetail) != null)
  24.     {
  25.       // Landscape
  26.       detailPage = true;
  27.       getFragmentManager().popBackStack();

  28.       // 主程式setContentView()之後,判斷橫式UI中ID為displayDetail的FrameLayout是否存在,置換不同的Fragment於其中
  29.       DetailFragment detailFragment = (DetailFragment) getFragmentManager().findFragmentById(R.id.displayDetail);
  30.       if(detailFragment == null)
  31.       {
  32.         // TO DO
  33.         detailFragment = new DetailFragment();
  34.         FragmentTransaction ft = getFragmentManager().beginTransaction();
  35.         ft.add(R.id.displayDetail,detailFragment,null);
  36.         ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
  37.         ft.commit();
  38.       }
  39.     }
  40.   }

  41.   public void onButtonClicked(String strText)
  42.   {
  43.     //  依據直式或橫式按鈕事件也不同,請為直式切換頁面Fragment,而橫式為置換右方FrameLayout。
  44.     if(detailPage)
  45.     {
  46.       // Landscape
  47.       //TO DO
  48.       DetailFragment detailFragment = (DetailFragment) getFragmentManager().findFragmentById(R.id.displayDetail);
  49.       detailFragment.updateDavidContent(strText);
  50.     }
  51.     else
  52.     {
  53.       //TO DO
  54.       DetailFragment detailFragment = new DetailFragment();
  55.       detailFragment.updateDavidContent(strText);
  56.       FragmentTransaction ft = getFragmentManager().beginTransaction();
  57.       ft.addToBackStack(null);
  58.       ft.replace(R.id.displayList, detailFragment, null);
  59.       ft.commit();

  60.     }
  61.   }
  62. }
複製代碼

TOP

返回列表