FragmentからActivityに通知するためには
- 3. FragmentからActivityにコールバックするためには
ダメ案: Fragmentのコンストラクタで渡す
public class HogeActivity extends Activity implements FugaListener {
private Fragment createFragment() {
FugaFragment fuga = new FugaFragment(this);
return fuga;
}
}
public class FugaFragment extends Fragment {
private FugaListener listener;
public FugaFragment(FugaListener listener) {
this.listener = listener;
}
}
3
- 5. FragmentからActivityにコールバックするためには
ダメ案: Fragmentのsetterで渡す
public class HogeActivity extends Activity implements FugaListener {
private Fragment createFragment() {
FugaFragment fuga = new FugaFragment();
fuga.setListener(this);
return fuga;
}
}
public class FugaFragment extends Fragment {
private FugaListener listener;
public void setListener(FugaListener listener) {
this.listener = listener;
}
}
5
- 7. FragmentからActivityにコールバックするためには
おすすめ案: FragmentのonAttach()で渡す
public class HogeActivity extends Activity implements FugaCallback {
private Fragment createFragment() {
FugaFragment fuga = new FugaFragment();
return fuga;
}
}
public class FugaFragment extends Fragment {
private FugaListener listener;
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
if (activity isinstanceof FugaListener) {
this.listener = (FugaListener) activity;
}
}
}
7