android应用开发,多个fragment向activity传值的问题

要实现的功能如下:activity界面下部是水平滚动的gridView,这个gridView中要展示4种数据类型;上部是在点击gridView中条目时,用来展示对应详细信... 要实现的功能如下:activity界面下部是水平滚动的gridView,这个gridView中要展示4种数据类型;上部是在点击gridView中条目时,用来展示对应详细信息的。每种类型数据对应一个fragment。每个布局中都有一个删除按钮,点击后用来删除gridview中对应的item,所以我想在activity中拿到点删除按钮时对应的是哪个位置的item。我用自定义接口的方法实现了这个功能,但是现在问题来了,难道每个fragment我都要去定义一个接口,然后activity要把4个接口全部实现?有没有更好的办法?

期待大侠指教.....
展开
 我来答
betterswc
2015-04-26 · TA获得超过770个赞
知道小有建树答主
回答量:516
采纳率:0%
帮助的人:222万
展开全部
你可以在这4个fragment初始化的时候传个参数进去,比如就是一个整数,表明是第几个fragment,然后那个删除按钮就设个tag,形如:
deleteButton.setTag(index);

点击之后你在OnClick响应方法里头取parse这个index就行啦。
更多追问追答
追问
非常感谢您的回答!onclick方法是在fragment里面的,我需要得到要删除的item在列表中的position
追答
第一,如果你是通过xml里头设置的onClick,也就是android:onClick="onClick"的话,会默认到activity的。
第二,如果你非要用代码去设置View.OnClickListener也没关系啊,你可以通过给fragment传一个callback接口进来,比如fragment.setOnDeleteButtonClickListener,设置为Activity本身,然后让Activity直接实现以下一个OnDeleteButtonClickListener接口,接口里头就一个方法onDeleteButtonClicked(int pos),就行啦。
再偷懒一点,直接硬转,在fragment里头getActivity然后直接转换为OnDeleteButtonClickListener类型,调就是了。
其实办法很多哈。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式