Android 通过片段将事件从Listview(片段中)发送到现有活动
我有一个Android 通过片段将事件从Listview(片段中)发送到现有活动,android,listview,android-fragments,Android,Listview,Android Fragments,我有一个列表视图,它位于片段中。每行显示一组4个按钮。 每个按钮都有一个OnClickListener在适配器类中定义。一切正常,我可以显示单击的按钮的ID。 我的问题是如何通过此片段将此ID发送给活动(持有片段的人,其中定义了列表视图)。从一个星期到现在,我一直被困在这里 请记住,此活动已经存在,并且她是已启动片段的人。在活动类中编写一个方法 public void setButtonClick(int buttonId){ // do your task } 从您的适配器类 ((YourA
列表视图
,它位于片段
中。每行显示一组4个按钮
。
每个按钮
都有一个OnClickListener
在适配器
类中定义。一切正常,我可以显示单击的按钮的ID
。
我的问题是如何通过此片段
将此ID
发送给活动(持有片段
的人,其中定义了列表视图
)。从一个星期到现在,我一直被困在这里
请记住,此活动已经存在,并且她是已启动片段的人。在活动类中编写一个方法
public void setButtonClick(int buttonId){
// do your task
}
从您的适配器类
((YourActivity)fragment.getActivity()).setButtonClick(id);
但您需要使用其构造函数将片段实例传递给适配器
根据此处发布的代码进行新编辑
class ArticleSetAdapter{
// Variables
private ArticleFragment context;
// Constructor
public ArticleSetAdapter(ArticleFragment context, ArrayList<ArrayList<Article>> articleSetArray) {
super(context.getActivity(), 0, articleSetArray);
this.context = context;
}
希望这能对您有所帮助。请发布您的代码。您有列表适配器类吗?您在答案中添加了源代码,您需要通过编辑您的问题来添加源代码,我将根据您的代码更新我的答案对不起,Silvans,这是我第一次提出问题。希望我的代码能帮助你理解我的问题
private View.OnClickListener mOnClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
Integer artID = (Integer) ((Button) v).getTag();
((youractivity.class)context.getActivity())..setButtonClick(artID)
makeText(getContext(), "CLICK: " + artID, Toast.LENGTH_SHORT).show();
}
};