Oce*_*lue 17 android listener android-asynctask
我有一个设计问题.我需要实现一个监听器.我看到了以下SO问题: 如何在android中创建自己的Listener接口?
但是在答案中提供的链接中,作者创建了一个只扩展系统定义的侦听器的侦听器.例如onClick,你会做一些验证然后调用另一个名为"whenValidatedListener"的方法
我需要定义未链接到现有事件侦听器的侦听器.基本上会在本机(C/C++)代码中进行一些处理,在Android代码中我需要一个监听器来响应来自它的某些消息.
我想我可以使用处理程序来做到这一点.但AsyncTask是多线程推荐的方法.
有没有办法使用AsyncTask实现用户定义的侦听器?
hac*_*bod 51
AsyncTask与实现侦听器无关.
这是一个听众:
public interface TheListener {
public void somethingHappened();
}
Run Code Online (Sandbox Code Playgroud)
无论如何都要打电话.例如,这是一个像View一样的类:
public class Something {
private TheListener mTheListener;
public void setTheListener(TheListener listen) {
mTheListener = listen;
}
private void reportSomethingChanged() {
if (mTheListener != null) {
mTheListener.somethingHappened();
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可以根据需要使其变得复杂.例如,您可以使用ArrayList代替单个侦听器指针,以允许注册多个侦听器.
从本机代码调用它也与实现侦听器接口无关.您只需要了解JNI以了解本机代码如何与Java语言代码交互.
只是为了清理事情;
你正在做什么@hackbod说并添加这个:
在activity包围类(方法setListener(Listener listen)),工具Listener和它oncreate或onResume或者,任何你打电话yourClass.setListener(this).
| 归档时间: |
|
| 查看次数: |
39261 次 |
| 最近记录: |