Android-怎样在View中调用Acitivity中的函数

前端开发 前端开发 主题:1148 回复:2395

Android-怎样在View中调用Acitivity中的函数

瑾兮 发布于 2017-01-31 字数 130 浏览 999 回复 2

有两个类,一个继承View,一个继承Activity,我想在View中使用Activity中的方法,应该怎样做呢?·····求解,最好有代码示例。谢谢!

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(2

晚风撩人 2017-08-15 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);
...

}

晚风撩人 2017-08-12 1 楼

既然都是类,那么用java的知识,在继承View的那个子类中创建继承自Activity的那个类的对象,然后通过这个对象调用所需要的方法即可。
public class A extends Activity{
public void b(){}
}

public class c extends View{
A a = new A();
a.b();

}