8

I've a two fragments defined in the layout of my MainActivity and set by setContentView. I'd like to call some methods from these fragments, but I don't know how to acces them. Eclipse says: "Cannot cast form Fragment to 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
    }


}
4

2 に答える 2

20

getSupportFragmentManager()の代わりに使用getFragmentManager()

于 2013-03-08T19:49:46.137 に答える
5

インポートが一致していることを確認してください - FileListFragment / PlayerListFragment が android.support.v4.app.Fragment を拡張し、getFragmentManager().findFragmentById が android.app.Fragment を返す可能性があります。

getSupportFragmentManager()android.support.v4.app.Fragment インスタンスを返すために使用します。

于 2013-03-08T19:49:52.617 に答える