什么是回调以及如何在Android中实现它们?

时间:2012-10-25 05:18:28

标签: android callback

  

可能重复:
  How to Define Callbacks in Android?

我正在通过互联网阅读回调,我知道这在 Android生态系统中具有很高的权重。

任何人都可以声明 示例 并解释 回调是什么工作

1 个答案:

答案 0 :(得分: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

我认为如果您有任何问题可以随意写在评论中,那就是全部了。)