2012-08-14 2 views
0

안녕하세요 저는 두 아이템이 CustomLayout을 갖기를 원하고 다른 하나는 initialLayout을 유지하려고합니다. 제 질문은 모든 아이템에 대해 조각을 사용하는 더 좋은 방법입니다. 당신이 중복 코드 6 회를 통지하지 않았나요네비게이션 아이템마다 커스텀 레이아웃

내 코드는이

if(actionBar.getSelectedNavigationIndex() == 0){ 

      android.app.FragmentManager fragmentManager = getFragmentManager(); 
      FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
      TimePickerFragment timePickerFragment = new TimePickerFragment(); 
      fragmentTransaction.add(R.id.container, timePickerFragment); 
      fragmentTransaction.commit(); 
     } else if(actionBar.getSelectedNavigationIndex() == 1) 
      android.app.FragmentManager fragmentManager1 = getFragmentManager(); 
      FragmentTransaction fragmentTransaction1 = fragmentManager.beginTransaction(); 
      fragmentTransaction.add(R.id.container, initialFragment); 
      fragmentTransaction.commit(); 
     } else if(actionBar.getSelectedNavigationIndex() == 2) 
      android.app.FragmentManager fragmentManager2 = getFragmentManager(); 
      FragmentTransaction fragmentTransaction2 = fragmentManager.beginTransaction(); 
      fragmentTransaction.add(R.id.container, initialFragment); 
      fragmentTransaction.commit(); 
     } else if(actionBar.getSelectedNavigationIndex() == 3) 
      android.app.FragmentManager fragmentManager3 = getFragmentManager(); 
      FragmentTransaction fragmentTransaction3 = fragmentManager.beginTransaction(); 
      fragmentTransaction.add(R.id.container, initialFragment); 
      fragmentTransaction.commit(); 
     } else if(actionBar.getSelectedNavigationIndex() == 4) 
      android.app.FragmentManager fragmentManager4 = getFragmentManager(); 
      FragmentTransaction fragmentTransaction4 = fragmentManager.beginTransaction(); 
      DatePickerFragment datePickerFragment = new DatePickerFragment(); 
      fragmentTransaction.add(R.id.container, datePickerFragmen); 
      fragmentTransaction.commit(); 
     } else if(actionBar.getSelectedNavigationIndex() == 5) 
      android.app.FragmentManager fragmentManager5 = getFragmentManager(); 
      FragmentTransaction fragmentTransaction5 = fragmentManager.beginTransaction(); 
      fragmentTransaction.add(R.id.container, initialFragment); 
      fragmentTransaction.commit(); 
     } 

답변

0

처럼 보인다? 내가 코드를 사용하는 경우

android.app.FragmentManager fragmentManager = getFragmentManager(); 
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
TimePickerFragment timePickerFragment = new TimePickerFragment(); 
fragmentTransaction.add(R.id.container, /* Put here fragment variable generated by your defined conditions */); 
fragmentTransaction.commit(); 
+0

해당 레이아웃을해야합니다 후 한 번만 내 모든 항목을 제공 니펫을, 그리고 당신이이 – nairdat

+0

, 내가 그 액션 바의 모든 항목에 다른 레이아웃을 원하는하지 않을 경우/break/return 및 Java 언어로 된 기타 지시 사항. 또한 '정의 된 조건에 의해 생성 된 조각 변수를 여기에 넣으십시오'라는 단서를 읽지 않았을 수 있습니다. 조각이 달라질 수 있습니다 –

+0

죄송합니다. 이제 알았습니다. 늦었습니다. 시간과 열정에 감사드립니다. – nairdat

관련 문제