2013-03-08 78 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 
    } 


}