Android-怎样在View中调用Acitivity中的函数
有两个类,一个继承View,一个继承Activity,我想在View中使用Activity中的方法,应该怎样做呢?·····求解,最好有代码示例。谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
有两个类,一个继承View,一个继承Activity,我想在View中使用Activity中的方法,应该怎样做呢?·····求解,最好有代码示例。谢谢!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
可以用广播的方式
//View里面这样发广播
Intent it = new Intent("Activity.method");
context.sendBroadcast(it)
//MainActivity里面要实现一个接收器接受广播消息,接收器里面调用Activity的方法
public class ActionReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if ("Activity.method".equalsIgnoreCase(intent.getAction())) {
methodToCall();
}
}
}
//注册接收器
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
receiver = new ActionReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction("Activity.method");
registerReceiver(receiver, filter);
...
}
既然都是类,那么用java的知识,在继承View的那个子类中创建继承自Activity的那个类的对象,然后通过这个对象调用所需要的方法即可。
public class A extends Activity{
public void b(){}
}
public class c extends View{
A a = new A();
a.b();
}