0

ListFragment を拡張するフラグメントがあり、別のフラグメントから getSupportFramentManager().findFragment() を使用して ListFragment を見つけたい

DetailFrag detailFrag = (DetailFrag) getSupportFragmentManager.findFragmentById(R.id.detail_frag)

if (detailFrag != null){
  // do something with detailFrag...
}else{
  DetailFrag newFrag = new DetailFrag();
  // ....
}

// DetailFrag クラスの実装

public class DetailFrag extends ListFragment{
 // ...
}

しかし、日食はエラーを示しています"cannot cast from Fragment to DetailFrag"

getSupportFragmentManager.findFragmentById() メソッドが Fragment を返すことに気付きました。「ListFragment」を見つけるにはどうすればよいですか

ありがとう、ガット

4

1 に答える 1

0

あなたが逃しました "()"

変化する:

DetailFrag detailFrag = (DetailFrag) getSupportFragmentManager.findFragmentById(R.id.detail_frag)

に:

DetailFrag detailFrag = (DetailFrag) getActivity().getSupportFragmentManager().findFragmentById(R.id.detail_frag)

編集:のgetActivity()前に追加してみてくださいgetSupportFragmentManager()

于 2013-05-30T15:20:21.067 に答える