@Override
public Fragment getItem(int position) {
CharacterFragment fragment = new CharacterFragment();
View rootView = fragment.getView();
TextView character = (TextView) rootView.findViewById(R.id.character);
character.setText(name[position]);
return fragment;
}
이것은 ViewPager
의 단편을 변경하는 코드입니다. 단편에는 텍스트보기가 하나만 있습니다. 기본적으로, 나는 내 이름으로 알파벳을 꿰뚫고있다. 따라서 인덱스에 따라 TextView
부분에 텍스트를 설정해야합니다.ViewPager에서 단편의 텍스트 변경
위의 코드를 사용하면 레이아웃이 아직 팽창되지 않았기 때문에 프로그램이 NullPointerException
으로 불려서 추정합니다.
Fragment
의 내용을 변경하는 올바른 방법은 무엇입니까? 그것이 표시되었다는 것을 알려주는 콜백 메소드가 있습니까?
문제 내부 'TextView'에 대한 참조는 항상 null로 되돌려집니다. 프래그먼트의'onResume()'에서'getView(). findViewById (R.id.myTextView)'를 사용해 보았지만 반환 값은 항상 null입니다. –
자세한 내용을 제공하는 답을 편집했습니다. 아이디어는 조각을 만들 때 문자열을 매개 변수로 보낸 다음'onCreateView'에서 문자열에서 매개 변수를 가져 와서 TextView로 설정하는 것입니다. – gunar
작동! 한 가지 간단한 질문 : 화면의 크기에 관계없이 각 문자가 화면을 채울 수 있도록 텍스트를 충분히 크게 만드는 방법은 무엇입니까? :) –