2014-06-23 9 views
0

주요 활동에서 각 단편의 UI 요소를 조작 할 수 있도록 단편과 관련된보기에 액세스하는 방법을 알아내는 데 어려움이 있습니다.주요 활동에서 단편과 관련 UI 요소에 액세스하는 방법

이 내 관련 코드는 다음과 같습니다

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_screen_slide); 
    fManager = this.getSupportFragmentManager(); 
    mPager = (ViewPager) findViewById(R.id.pager); 
    mPagerAdapter = new ScreenSlidePagerAdapter(fManager); 
    this.setUpFragments(); 
    this.setUpUI(); 
    mPager.setAdapter(mPagerAdapter); 
    //trying to access individual fragments and their views 
} 

은 현재 내가 시도하고보기 요소에 액세스하기 위해이 함수의 끝 부분에 더 많은 코드를 추가하기 위해 노력하고있어하지만 난 그것을 할 수없는 것. 이것은 올바른 장소인가요? 아니면 다른 곳에 시도해야합니까?

답변

2

부모의 파편과 함께 쓰레기를 버리지 마십시오. 대신 달성하려는 작업을 수행 할 조각에 메소드를 작성하십시오. Fragment를 일반 클래스로, Fragment 's Views를 클래스의 비공개 필드로 생각하십시오. 조각은 UX 캡슐화에 사용되며 허용되어야합니다.

+0

그래서 작업을 수행하기 위해 조각에 메서드가있는 경우, 그 메서드를 시작하기 위해 조각을 어디에 말할 것입니까? 내 조각 코드에서 실제로 조각의 레이아웃에서 텍스트 필드의 텍스트를 설정하고 시도하는 방법이 이미 포함되어 있지만 아직 작동하지 못하는데 위의 그림과 같은 방식으로 시도하고 있습니다. –

+0

'Activity.onCreate()'는 라이프 사이클에서'Fragment.onCreateView()'보다 오래 전에 호출됩니다. 'onCreate'에서 값을 설정해야한다면'onCreateView'가 View 계층 구조를 만들 때까지 제어하려는 TextField를 만들 때까지 그 값을 Fragment의 필드로 저장해야합니다. – tophyr

관련 문제