从适配器内的Activity调用方法

时间:2015-01-18 19:00:05

标签: android interface adapter

大家好,这是一个愚蠢的问题,因为我很困惑。我试图做的是从我的适配器内的一个活动调用一个方法(分享给Facebook)。

这是插图:

活性: postToFacebook(宠物狗); 列表视图,其中包含狗列表。

适配器: 适配器,我用它来创建自定义视图以便更好地查看。

问题是我想在LinearLayout上设置一个onLongClickListener,它包含所有狗的信息(这样用户可以保存信息的任何部分)以便与Facebook共享。

有没有办法做到这一点?

非常感谢!

1 个答案:

答案 0 :(得分:2)

如果我理解你的问题,你会在不好的方式上完成

在您的活动中,您有一个带有狗信息的ArrayList(或List)

这样的东西
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;
        }
    }); 

通过这种方式,您可以获得所选元素的位置,并从活动中调用您的方法,而不是从适配器调用。

listDogs.get(pos) 

此行返回所选行的元素。