SlideShare a Scribd company logo
Android 
FragmentからActivityに通知するためには 
2014.10.23(Thu) 
shgmn
FragmentからActivityにコールバックするためには 
FragmentからActivityにコールバックしたい 
よくある 
リスナインタフェースをActivityに実装すればよい 
FragmentにActivityのインスタンスを渡す方法を考える。。 
2
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
FragmentからActivityにコールバックするためには 
ダメ案: Fragmentのコンストラクタで渡す 
Fragmentがライフサイクルの中で再生成される場合は 
引数付きのコンストラクタは使用されない 
(引数無しのデフォルトコンストラクタが呼ばれる) 
先ほどのlistener変数はnullになってしまう 
4
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
FragmentからActivityにコールバックするためには 
ダメ案: Fragmentのsetterで渡す 
FragmentのライフサイクルはActivityのそれとは独立してい 
る 
Fragment再生成のタイミングで 
ActivityからFragmentのsetterを呼ぶことは非常に難しい 
(ActivityでFragmentの状態をすべて監視する?無理。) 
先ほどのlistener変数はnullになってしまう 
6
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
FragmentからActivityにコールバックするためには 
おすすめ案: FragmentのonAttach()で渡す 
FragmentがActivityにAttachしたタイミングで呼ばれる 
引数にはActivityインスタンスが入っている 
これでlistenerがnullになることはない 
8
That’s all. 
Thank you for seeing till the end.

More Related Content

Viewers also liked

Aci lasvi (kelas xii ipa 1)
Aci lasvi (kelas xii ipa 1)Aci lasvi (kelas xii ipa 1)
Aci lasvi (kelas xii ipa 1)
Aci Lasvi
 
Prevención Tuberculosis
Prevención TuberculosisPrevención Tuberculosis
Prevención Tuberculosis
Luis Fernando Rojas Terrazas
 
Teniasis
TeniasisTeniasis
Pencegahan dan pengendalian infeksi 1
Pencegahan dan pengendalian infeksi 1Pencegahan dan pengendalian infeksi 1
Pencegahan dan pengendalian infeksi 1Aci Lasvi
 
無線技術と暗号化
無線技術と暗号化無線技術と暗号化
無線技術と暗号化
shgmn
 
Enterobiasis
EnterobiasisEnterobiasis
Uncinariasis
UncinariasisUncinariasis
Vigo mi primera exportacion ejemplo de feria internacional
Vigo mi primera exportacion ejemplo de feria internacionalVigo mi primera exportacion ejemplo de feria internacional
Vigo mi primera exportacion ejemplo de feria internacional
Fernando Fregeneda Chico
 
Ah Naturale Clean Post 1
Ah Naturale Clean Post 1Ah Naturale Clean Post 1
Ah Naturale Clean Post 1
Chester Starks Jr MEd.
 

Viewers also liked (9)

Aci lasvi (kelas xii ipa 1)
Aci lasvi (kelas xii ipa 1)Aci lasvi (kelas xii ipa 1)
Aci lasvi (kelas xii ipa 1)
 
Prevención Tuberculosis
Prevención TuberculosisPrevención Tuberculosis
Prevención Tuberculosis
 
Teniasis
TeniasisTeniasis
Teniasis
 
Pencegahan dan pengendalian infeksi 1
Pencegahan dan pengendalian infeksi 1Pencegahan dan pengendalian infeksi 1
Pencegahan dan pengendalian infeksi 1
 
無線技術と暗号化
無線技術と暗号化無線技術と暗号化
無線技術と暗号化
 
Enterobiasis
EnterobiasisEnterobiasis
Enterobiasis
 
Uncinariasis
UncinariasisUncinariasis
Uncinariasis
 
Vigo mi primera exportacion ejemplo de feria internacional
Vigo mi primera exportacion ejemplo de feria internacionalVigo mi primera exportacion ejemplo de feria internacional
Vigo mi primera exportacion ejemplo de feria internacional
 
Ah Naturale Clean Post 1
Ah Naturale Clean Post 1Ah Naturale Clean Post 1
Ah Naturale Clean Post 1
 

Recently uploaded

ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
sugiuralab
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
Yuki Miyazaki
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 

Recently uploaded (9)

ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 

FragmentからActivityに通知するためには