【发布时间】:2014-09-12 16:58:26
【问题描述】:
我正在尝试使用 findFragmentById 获取我的片段,但每次我在其位置获得 null 时,我也尝试使用 findFragmentByTag 并向我的添加事务添加标签,但这也是一样的。
以下代码是修改后的空白起始模板(为简单起见)
公共类 MainActivity 扩展 Activity {
@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") 访问它也没有成功。
如何让我的代码按预期工作?
【问题讨论】:
标签: java android android-fragments fragment fragmentmanager