您的位置:首页 > 移动开发 > Android开发

回调函数在android中的使用

2016-04-09 21:49 495 查看
上文 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){

//逻辑,省略

}

}

这样就实现了回调的使用。(完)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: