早教吧作业答案频道 -->其他-->
Android调用访问类的函数最近开发Android程序遇到了一个问题:主Activity(名为MainActivity)通过系统自动调用了一个继承BaseAdapter类B中的函数(getView),在getView中写了一个Listener,用于回
题目详情
Android 调用访问类的函数
最近开发 Android 程序遇到了一个问题:主 Activity(名为 MainActivity)通过系统自动调用了一个继承 BaseAdapter 类 B 中的函数(getView),在 getView 中写了一个 Listener,用于回调 MainActivity 中的一个函数更新 MainActivity 的 UI,请问如何实现?
就是 Activity 类 A 的实例调用非 Activity 类 B 的函数,这个函数中如何回调该 A 实例中的函数?直接输入 MainActivity 得到这的是个类本身(Static),无法得到 MainActivity 实例,不能执行更新 UI 操作
在任意地方定义:
(其他类中 import 该类.MyCallBack)
public interface MyCallBack {
void execute ();
}
调用者 (Activity 类,AClass.java):
BClass bClass; // 类变量
void createBClass () {
bClass = new BClass (new MyCallBack () {
public void execute() {
// 更新 UI 等等操作
}
});
}
被调用者 (非 Activity 类,BClass.java):
MyCallBack mCallBack; // 类变量
/** 构造函数 */
BClass (MyCallBack callBack) {
mCallBack = callBack;
}
void updateAClass () {
mCallBack.execute ();
// 即可更新 AClass 的 UI
}
该方法通用于 Java
最近开发 Android 程序遇到了一个问题:主 Activity(名为 MainActivity)通过系统自动调用了一个继承 BaseAdapter 类 B 中的函数(getView),在 getView 中写了一个 Listener,用于回调 MainActivity 中的一个函数更新 MainActivity 的 UI,请问如何实现?
就是 Activity 类 A 的实例调用非 Activity 类 B 的函数,这个函数中如何回调该 A 实例中的函数?直接输入 MainActivity 得到这的是个类本身(Static),无法得到 MainActivity 实例,不能执行更新 UI 操作
在任意地方定义:
(其他类中 import 该类.MyCallBack)
public interface MyCallBack {
void execute ();
}
调用者 (Activity 类,AClass.java):
BClass bClass; // 类变量
void createBClass () {
bClass = new BClass (new MyCallBack () {
public void execute() {
// 更新 UI 等等操作
}
});
}
被调用者 (非 Activity 类,BClass.java):
MyCallBack mCallBack; // 类变量
/** 构造函数 */
BClass (MyCallBack callBack) {
mCallBack = callBack;
}
void updateAClass () {
mCallBack.execute ();
// 即可更新 AClass 的 UI
}
该方法通用于 Java
▼优质解答
答案和解析
一般来说你特意写了一个Adapter,那么它与ListView应该是一一对应的,那么你在初始化Adapter的时候直接将MainActivity作为参数传递到Adapater中,并且将其作为Adapter的一个类成员变量,你现在想怎么调用就怎么调用了
看了 Android调用访问类的函...的网友还看了以下:
按字母拼单词1、M-F-R-R-E-A2、V-T-E-S3、O-S-E-M-U4、S-L-U-E- 2020-05-16 …
给定数据结构(V,E),V为结点的有限集合,V={V1,V2,V3,V4,V5,V6,V7,V8), 2020-05-26 …
已知图G=(V,E),其中V=(a,b,c,d,e,f),E:{ 2020-05-26 …
谁能帮我组个英语单词①e、n、o、p、t、w、y②e③d、t、y④b、c、f、m、p、r、t、v⑤ 2020-07-29 …
探求凸多面体的面F、顶点数V和棱数E之间的关系得到的结论是()A.无确定关系B.F+E-V=2C. 2020-07-29 …
不定积分的问题不定积分里面有个分部积分的方法说的是∫udv=uv-∫vdu比如∫e^x*sinxd 2020-08-03 …
浊辅音A.[b][d][g]B.[b][d][g][v][e]C.[dr][З][dЗ]D.[b][ 2020-11-10 …
(2014•龙岩模拟)对于反应aA+bB=dD+eE,该化学反应速率定义为v=v(A)a=v(B)b 2020-11-12 …
欧拉公式中,多面体的面数F,棱数E,顶点数V之间的正确关系是()A.F+V-E=2B.F+E-V=2 2020-11-18 …
组合英语单词:1.r,i,v,r,d,e2.t,i,w,e,h3.a,v,e,s,4.c,t,k,e 2020-11-29 …