我有一个pojo方法来生成一个位图。完成后,我想将位图引入UI活动。这是一个样本,但在这里它是:Android监听器/回调如何?
private void sendBitmap(Bitmap bitmap) {
// TODO - I'm in the pojo where I want to send the bitmap
}
FYI:我想通知UI活动是我的项目之外。我的意思是,我的项目是一个SDK,这样其他开发人员可以在获得该信息后立即获取这些信息。
我一直在试图弄清楚,但有点困惑。
- 我需要一个“回调”接口吗?
- 还是“听众”界面?
- 还是两者兼而有之?
我在MyActivity中创建了一个回调接口。到现在为止还挺好。这是什么样子至今:
import android.graphics.Bitmap;
public class MyActivity {
// protected void whateverOtherMethods (Bundle savedInstanceState)
// {
// .
// .
// .
// .
// .
// .
//
// }
/**
* Callback interface used to supply a bitmap.
*/
public interface MyCallback {
public void onBitmapReady(Bitmap bitmap);
}
}
演示应用的DoSomethingActivity可以实现我所创建的回调接口。这是回调的演示应用程序的DoSomethingActivity实现:
private final MyCallback myCallback = new MyCallback() {
@Override
public void onBitmapReady(Bitmap bitmap) {
// TODO - do something with the bitmap
}
};
什么是我缺少通知回调步骤?也许我几乎可以拥有它,但是我很困惑,我在这里寻找一些帮助。
UPDATE:
OK,我已经添加了 “工具” 为我的回调 “BitmapCallback” 界面进入POJO。那就是:
public class ProcessImage implements BitmapCallback {
/**
* pojo method to return bitmap
*/
private void sendBitmap() {
this.onBitmapReady(bitmap);
}
@Override
public void onBitmapReady(Bitmap bitmap) {
// we still need to send the bitmap to cusomer App.
}
我不能回调的定义从SDK活动动,因为我想客户的应用,以实现他们的代码来处理位图时,它返回到客户的应用回调。
这是在我的活动回调接口:
public interface BitmapCallback {
public void onBitmapReady(Bitmap processedBitmapy);
}
这里是在客户的应用程序,实现:
private final BitmapCallback bitmapCallback = new BitmapCallback()
{
@Override
public void onBitmapReady(Bitmap bitmap) {
// TODO Auto-generated method stub
}
};
叫我哑巴,但我有一个很难得到我的头绕着这个。
你在回看什么事件?如果它的点击事件,你应该看看OnClickListener,你可以调用你的自定义侦听器。 http://developer.android.com/reference/android/view/View.OnClickListener.html – Peshal 2014-09-23 23:52:44
为什么会反对票?这是一个基于一些位图被改变的回调。它与UI无关。 – Patricia 2014-09-24 15:13:05