2013-03-08 82 views
8

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

+0

检查您的布局文件。检查你的ID。 – hakiko 2013-03-08 19:47:55

回答

21

使用getSupportFragmentManager(),而不是确保您的进口匹配 - 这可能是因为FileListFragment/PlayerListFragment延长android.support.v4.app.Fragment而getFragmentManager()返回findFragmentById android.app。分段。

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

+1

你能解释一下为什么吗? – TrungDQ 2015-07-18 03:53:36

5

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 
    } 


}