回调函数在android中的使用


上文  http://blog.csdn.net/rong_wz/article/details/51107440讲解了回调函数在java中的场景,本文介绍自己的android应用中的使用。


场景:

        假如有一listView,里面是游戏列表,在listView的item中有个button,点击此button可以有相应逻辑,比如打开相应游戏,当然可以在listView的Adapter中去实现,但此处,使用回调,在Activity或Fragment中实现,这就需要回调。


首先定义一个接口:


public interface GameAdapterClickListener{

      void onItemClick(AppInfoResult   info,      int    pos  );

       void onItemClick(AppInfoResult  into,    View v,    int pos);

}


接着,在Adapter中,应该有一上面接口的变量,mListener,定义如下:

GameAdapterClickListener  mListener;

并有注册方法:

public  void registerListener(GameAdapterClickListener   listener){

                  mListener  =  listener;

}

button点击时的响应方法,调用对应的mListener的响应:

holder.button.setOnClickListener(new OnClickListener(){

if(mListener != null){

mListener.onItemClick( mList.get(position),  position);

}

});


最后,在Fragment或Activity中实现对应接口,并设置进Adapter。

此处使用Fragment:


...      GamesFragment   implements GameAdapterClickListener{


...

//adapter注册

mGamesAdapter.register(this);



//下面是方法具体实现:

@Override

public void onItemClick(AppInfoResult info  ,  View v, int pos){

//跳转逻辑    省略

}

@Override

pubic void onItemClick(AppInfoResult  info,  int pos){

//逻辑,省略

}


}  


这样就实现了回调的使用。(完)



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值