Fragment与Activity交互(使用接口)
生活随笔
收集整理的這篇文章主要介紹了
Fragment与Activity交互(使用接口)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在Fragment中:
1.
// 定義一個(gè)回調(diào)接口,該Fragment所在Activity需要實(shí)現(xiàn)該接口// 該Fragment將通過(guò)該接口與它所在的Activity交互 {
public void onItemSelected(Integer id);
}
2. // 當(dāng)該Fragment被添加、顯示到Activity時(shí),回調(diào)該方法 public void onAttach(Activity activity)
{
super.onAttach(activity);
// 如果Activity沒(méi)有實(shí)現(xiàn)Callbacks接口,拋出異常
if (!(activity instanceof Callbacks))
{
throw new IllegalStateException(
"BookListFragment所在的Activity必須實(shí)現(xiàn)Callbacks接口!");
}
// 把該Activity當(dāng)成Callbacks對(duì)象
mCallbacks = (Callbacks)activity;
} 3.
// 當(dāng)用戶單擊某列表項(xiàng)時(shí)激發(fā)該回調(diào)方法
@Override
public void onListItemClick(ListView listView
, View view, int position, long id)
{
super.onListItemClick(listView, view, position, id);
// 激發(fā)mCallbacks的onItemSelected方法
mCallbacks.onItemSelected(position);
}
在Activity中:
1.實(shí)現(xiàn)接口 public class MainActivity extends Activity implements
BookListFragment.Callbacks
2.覆寫接口中定義的方法
// 實(shí)現(xiàn)Callbacks接口必須實(shí)現(xiàn)的方法
@Override
public void onItemSelected(Integer id)
{
//....
}
當(dāng)Fragment中的相應(yīng)事件被觸發(fā),會(huì)在Fragment中通過(guò)mCallbacks引用調(diào)用Activity中的方法.
轉(zhuǎn)載于:https://www.cnblogs.com/vinozly/p/4768172.html
總結(jié)
以上是生活随笔為你收集整理的Fragment与Activity交互(使用接口)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ionic+AnjularJs实现省市县
- 下一篇: 1026. Table Tennis (