【问题标题】:Cannot cast from fragment无法从片段中投射
【发布时间】:2013-03-08 19:45:52
【问题描述】:

我在MainActivity 的布局中定义了两个片段,并由setContentView 设置。我想从这些片段中调用一些方法,但我不知道如何访问它们。 Eclipse 说:“无法将表单 Fragment 转换为 ListFileFrgament”。

public class MainActivity extends FragmentActivity {

    @Override
     protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    FileListFragment listFragment = (FileListFragment) getFragmentManager().findFragmentById(R.id.list_fragment);  
     // cannot casr here
    PlayerFragment playerFragment = (PlayerFragment) getFragmentManager().findFragmentById(R.id.player_fragment); 
     // cannot cast here
    }


}

【问题讨论】:

  • 检查您的布局文件。检查您的身份证件。

标签: java android android-fragments android-fragmentactivity


【解决方案1】:

使用getSupportFragmentManager() 代替getFragmentManager()

【讨论】:

    【解决方案2】:

    确保您的导入匹配 - 可能是 FileListFragment / PlayerListFragment 扩展 android.support.v4.app.Fragment 而 getFragmentManager().findFragmentById 返回 android.app.Fragment。

    使用 getSupportFragmentManager() 返回 android.support.v4.app.Fragment 实例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-04
      • 1970-01-01
      • 1970-01-01
      • 2014-08-08
      • 2017-03-17
      • 2012-04-29
      • 2014-06-04
      • 2012-08-23
      相关资源
      最近更新 更多