小编Iri*_*key的帖子

按变量名称启动片段

我想知道是否可以fragment通过variable名称启动而不是硬编码fragments名称.

请允许我发布样本

这是传统方式启动片段的方式:

FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.your_placehodler, new YourFragment());
ft.commit();
Run Code Online (Sandbox Code Playgroud)

但是说你试图在fragment不知道它的名字的情况下启动它,或者可能是fragment它的名字.说像listFragment,或者Listview你正在通过一个运行arrayFragment名字.因此你会做这样的事情:

@Override
public void onListItemClick(ListView l, View v, int position, long id) {

     private String[] values = new String[] { "frag1", "frag2", "frag3" };

     String someFragment = values[position];
     String fragName = (someFragment + ".class");

     try {
     FragmentTransaction ft = getFragmentManager().beginTransaction();
     ft.replace(R.id.your_placehodler, new fragName());
     ft.commit();
     } catch (Exception e) {
     //print message …
Run Code Online (Sandbox Code Playgroud)

android android-fragments

5
推荐指数
2
解决办法
3176
查看次数

标签 统计

android ×1

android-fragments ×1