2013-03-08 26 views
8

Tôi có hai đoạn được xác định trong bố cục của MainActivity và được thiết lập bởi setContentView. Tôi muốn gọi một số phương pháp từ những mảnh vỡ này, nhưng tôi không biết làm thế nào để buộc tội chúng. Eclipse nói: "Không thể bỏ dạng Fragment thành ListFileFrgament".Không thể truyền từ đoạn

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 
    } 


} 
+0

kiểm tra tệp bố cục của bạn. Kiểm tra ID của bạn. – hakiko

Trả lời

21

sử dụng getSupportFragmentManager() thay vì getFragmentManager()

+1

Bạn có thể giải thích lý do tại sao? – TrungDQ

5

Hãy chắc chắn rằng nhập khẩu của bạn phù hợp - đó có thể là FileListFragment/PlayerListFragment mở rộng android.support.v4.app.Fragment khi getFragmentManager() findFragmentById trả android.app.. Miếng.

Sử dụng getSupportFragmentManager() để trả lại android.support.v4.appCác phiên bản.

Các vấn đề liên quan