zoukankan      html  css  js  c++  java
  • Fragment与Activity交互(使用接口)

    在Fragment中:

    1.

    // 定义一个回调接口,该Fragment所在Activity需要实现该接口
    // 该Fragment将通过该接口与它所在的Activity交互
    {
    public void onItemSelected(Integer id);
    }

    2.
    // 当该Fragment被添加、显示到Activity时,回调该方法
    public void onAttach(Activity activity)
    {
    super.onAttach(activity);
    // 如果Activity没有实现Callbacks接口,抛出异常
    if (!(activity instanceof Callbacks))
    {
    throw new IllegalStateException(
    "BookListFragment所在的Activity必须实现Callbacks接口!");
    }
    // 把该Activity当成Callbacks对象
    mCallbacks = (Callbacks)activity;
    }
    3.
    // 当用户单击某列表项时激发该回调方法
    @Override
    public void onListItemClick(ListView listView
    , View view, int position, long id)
    {
    super.onListItemClick(listView, view, position, id);
    // 激发mCallbacks的onItemSelected方法
    mCallbacks.onItemSelected(position);

    }

    在Activity中:

    1.实现接口
    public class MainActivity extends Activity implements
    BookListFragment.Callbacks

    2.覆写接口中定义的方法

    // 实现Callbacks接口必须实现的方法
    @Override
    public void onItemSelected(Integer id)
    {
    //....
    }

    当Fragment中的相应事件被触发,会在Fragment中通过mCallbacks引用调用Activity中的方法.
  • 相关阅读:
    J2EE技术(一)——JNDI
    软考注定是一次伤痛
    Ultraedit使用技巧收集
    ArcGIS Server Java 自定义Functionality(转)
    用C#动态刷新KML
    ArcGIS Server Java 自定义task
    Python动态刷新kml
    投影坐标知识小结
    tomcat配置数据源通过JNDI访问mysql数据库
    ArcGIS Server Java自定义tool
  • 原文地址:https://www.cnblogs.com/vinozly/p/4768172.html
Copyright © 2011-2022 走看看