从适配器内部的 Activity 调用方法
Calling method from Activity inside an adapter
大家好,这是一个相当愚蠢的问题,因为我很困惑。我想要做的是从我的适配器中的 activity 调用一个方法(分享到 facebook)。
这是插图:
Activity:
postToFacebook(宠物狗);
包含狗列表的列表视图。
适配器:
适配器,我在其中创建自定义视图以获得更好的外观。
问题是我想在 LinearLayout 上设置一个 onLongClickListener 来保存所有狗的信息(这样用户可以保存信息的任何部分)以共享到 facebook。
有办法吗?
非常感谢!
如果我理解了你的问题,那么你就完成了错误的方式
在您的 activity 中,您有一个包含狗信息的 ArrayList(或列表)
类似于
ArrayList<Pets> listDogs;
现在,您应该这样做(myListView 是您的 ListView obj)
myListView.setOnItemLongClickListener(new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int pos, long id) {
postToFacebook(listDogs.get(pos));
return true;
}
});
通过这种方式,您可以获得所选元素的位置并从 activity 而不是从适配器调用您的方法。
listDogs.get(pos)
此行 return 所选行的元素。
大家好,这是一个相当愚蠢的问题,因为我很困惑。我想要做的是从我的适配器中的 activity 调用一个方法(分享到 facebook)。
这是插图:
Activity: postToFacebook(宠物狗); 包含狗列表的列表视图。
适配器: 适配器,我在其中创建自定义视图以获得更好的外观。
问题是我想在 LinearLayout 上设置一个 onLongClickListener 来保存所有狗的信息(这样用户可以保存信息的任何部分)以共享到 facebook。
有办法吗?
非常感谢!
如果我理解了你的问题,那么你就完成了错误的方式
在您的 activity 中,您有一个包含狗信息的 ArrayList(或列表)
类似于
ArrayList<Pets> listDogs;
现在,您应该这样做(myListView 是您的 ListView obj)
myListView.setOnItemLongClickListener(new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int pos, long id) {
postToFacebook(listDogs.get(pos));
return true;
}
});
通过这种方式,您可以获得所选元素的位置并从 activity 而不是从适配器调用您的方法。
listDogs.get(pos)
此行 return 所选行的元素。