java - 获取引发监听器的对象

标签 java android listener

我将此监听器放在多个 swipelistview 上

BaseSwipeListViewListener myBaseSwipeListViewListener = new BaseSwipeListViewListener() {
            @Override
            public void onOpened(int position, boolean toRight) {
            //Here I need the calling swipelistview
            }
}

swipelistview0.setSwipeListViewListener(myBaseSwipeListViewListener);
swipelistview1.setSwipeListViewListener(myBaseSwipeListViewListener);
swipelistview2.setSwipeListViewListener(myBaseSwipeListViewListener); //and so on

如何获得调用的 swipelistview ?

最佳答案

好吧,我不确定我是否明白你的意思,但是如果向你的监听器回调方法添加另一个参数呢?像这样:

BaseSwipeListViewListener myBaseSwipeListViewListener = new BaseSwipeListViewListener(){
    @Override
    public void onOpened(int position, boolean toRight, SwipeListView swipeListView) {
        //Here you now have your calling swipelistview
    } 
}

在您的 BaseSwipeListViewListener 中,现在只需通过返回自身(this)来添加第三个参数。

更新:我不知道它是一个图书馆。这不是我会做的,但如果您不想编辑源代码,只需执行以下操作:

BaseSwipeListViewListener myBaseSwipeListViewListener0 = new BaseSwipeListViewListener() {
    @Override
    public void onOpened(int position, boolean toRight) {
        onOpenedAdvanced(position, toRight, swipelistview0);
    } 
}

BaseSwipeListViewListener myBaseSwipeListViewListener1 = new BaseSwipeListViewListener() {
    @Override
    public void onOpened(int position, boolean toRight) {
        onOpenedAdvanced(position, toRight, swipelistview1);
    } 
}

BaseSwipeListViewListener myBaseSwipeListViewListener2 = new BaseSwipeListViewListener() {
    @Override
    public void onOpened(int position, boolean toRight) {
        onOpenedAdvanced(position, toRight, swipelistview0);
    } 
}

public void onOpenedAdvanced(int position, boolean toRight, SwipeListView swipeListView){
    //Here you now have your calling swipelistview
}

swipelistview0.setSwipeListViewListener(myBaseSwipeListViewListener0);
swipelistview1.setSwipeListViewListener(myBaseSwipeListViewListener1);
swipelistview2.setSwipeListViewListener(myBaseSwipeListViewListener2); 

关于java - 获取引发监听器的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25450877/

相关文章:

java - 将希伯来语单词转换为英语字符

java - 类 XXX 的无参数构造函数不存在

java - 检查字符串是否为数字

java - 为什么 JOptionPane 阻止 JButton 上的 ActionListener?

java - 如何在 Android 中禁用触摸监听器一段时间

java - 构造函数 Bicycle 类不能应用于给定类型;必需 : int, 找到 int:无参数原因:实际参数和前一个参数长度不同

Java 多线程没有停止

java - xpath 在 HtmlUnitDriver 中不起作用

java - 如何在 Firestore 中存储富文本编辑器数据?

firebase - 如何防止 Firebase Firestore 在 Flutter 应用程序中进行不必要的读取操作?