1

可能重复:
如何在 Android 中定义回调?

我正在通过 Internet 阅读有关回调的信息,并且我知道这在Android 生态系统中具有重要意义。

谁能举个例子并解释什么是回调它们是如何工作的

4

1 回答 1

2

你的意思是使用接口回调吗?如果是的话,这是一个例子

这是 callbackmenu.java

package com.example.test.callback;

public interface CallbackCalendar {
    public void onClick();
}

这是你如何实现它的一个例子

public class CallbackCell implements CallbackCalendar{

    @Override
    public void onClick() {
        Log.i("TAG", "IT WORKS!);
        addChild(2);
    }
}

这是一个示例,允许您从另一个视图访问视图,就像我在日历库中使用的一样,我创建了 3 个视图类,日历视图,日历行,日历单元格

通过将此回调从日历视图传递到日历单元格,我们可以在此示例中从日历单元格(日历单元格是日历行的一部分,日历行是日历视图的一部分)在日历视图中添加视图、设置值或其他任何内容我试图设置每当用户单击单元格时,我们将在日历视图(主视图)中添加另一个视图

这是在日历单元格中使用回调的示例

public CalendarCell(Context context,int day,final CallbackCalendar callback)
{
    super(context);
    final int temp = day;
    this.context = context;
    this.setBackgroundColor(Color.parseColor("#FFFFFFFF"));
    LinearLayout.LayoutParams lpCalendarCell = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
    lpCalendarCell.weight = 1;
    this.setLayoutParams(lpCalendarCell);
    this.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            callback.onClick();
        }
    });
    addContainer(day);
}

所以我在日历视图中设置回调并将其传递给日历行并再次将其传递给日历单元格并在日历单元格中调用 onClick

我认为这就是全部,如果您有任何问题,请随时在评论中写下:)

于 2012-10-25T05:34:22.643 回答