findFragmentById를 사용하여 내 조각을 가져 오려고했지만 그 자리에 null이 생길 때마다 findFragmentByTag를 사용하고 태그를 추가하여 트랜잭션을 추가했지만 그 작업도 동일합니다.findFragmentById가 항상 null을 반환하는 이유는 무엇입니까?
다음 코드는 (단순성을 위하여) 수정 된 빈 시작 템플릿
공용 클래스 MainActivity가 활동 {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(null);
setContentView(R.layout.activity_main);
FragmentManager fragmentManager = getFragmentManager();
if (savedInstanceState == null) {
fragmentManager.beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
PlaceholderFragment placeholderFragment = (PlaceholderFragment) fragmentManager
.findFragmentById(R.id.container);
if (placeholderFragment == null) {
Log.i("TAG", "placeholderFragment is null");
} else {
Log.i("TAG", "placeholderFragment is not null");
}
}
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
return rootView;
}
}
}
내가 다음을 시도 (가) add(R.id.container, new PlaceholderFragment(), "TAG")
으로 추가 교체 시도 연장 findFragmentByTag("TAG")
으로 액세스 할 수도 있습니다.
의도 한대로 코드를 작동 시키려면 어떻게해야합니까?
그래입니다 – Kaylee