首页 > 计算机知识/ 正文
我想再安卓程序中的一个activity中关闭另一个activity。 我知道可以这样:
public class A_activity extends Activity { public static A_activity mc= null; protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); ..... mc = this; //疑惑的地方 } } public class B_activity extends Activity { protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); A_activity.mc.finish(); } }
我的疑惑是为什么mc = this; 这一句话要在onCreate方法中定义, 这里的this指代的是什么呢??
在其他地方定义会怎么样? 期待您的解答!
晕, 我发的时候格式还是正常的,发上去怎么成这样了。。 简单的程序, 应该不会影响各位大侠们阅读。。。 先拜谢了!
问题解答:
"mc=this"."this"指的就是该类的实例(也叫做类的对象)。在这里的意思就是在变量mc中存储下"A_activity"的引用,然后在B_Activity中才可调用其的finish()方法。
不一定非得在onCreate里面定义,也可在自定义的方法中定义,意义是一样的。
这不是一个android的特性,而是Java语言的一个特性,"this"关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用。
可参考下《Java编程思想》中"this关键字"这一节。
追问这样啊, 就是说this通常是指代当前的类对象?
那么这一句: Intent(this,xxx.class);
就是在用类名显示跳转的时候, setClass的第一个参数不是应该是包名吗? 这里的this指什么呢?
回答Intent setClass (Context packageContext, Class<?> cls)
API中,第一个参数不是包名,而是一个Context类型,而Activity是继承Context的。那“this”代表的就是当前的Activity。
- 上一篇:大型企业网络工程师主要负责什么
- 下一篇:如何区分一个程序员是“老手“还是“新手“?
更多android开发中, 需要关闭另一个activity相关文章
- 不懂编程也能学软件测试吗?
- 主板上有保险丝是干什么用的
- 退伍军人学什么好?
- PCI-E×l插槽有那些优势
- 光驱维护保养大全2
- 凭证书找工作的时代已经过去
- 个人电脑硬盘日常维护经验
- CPU的保养篇
- 微机电源的保养及维修_电脑养护
- CISSP备考系列之恶意代码与应用程序攻击
- 最新风暴蠕虫变种对安全造成的威胁不大
- 关于浏览器安全问题的探索
- 如何配置Windows XP防火墙
- 鼠标故障与解决技巧
- CPU故障应该怎么解决
- 电脑硬件故障的常用检查办法
- 四大法宝应付主板常见故障
- 电脑分辨率调不了怎么办
- 导致计算机开机蓝屏故障的解析
- 无法停止USB通用设备的原因分析以及解决方法
- 硬盘坏道屏蔽技巧
- 笔记本电脑花屏黑屏的解决方法
- 电源功率过低引起的电脑故障解析
- 电脑运行时CPU温度过高该如何解决
- 学习电脑有什么技巧
- 解决不知如何选购计算机的方法
- 计算机基础知识初步了解
- 电脑知识学习小技巧
- 应该使用什么语言开发APP
- 搜索
-
- 热门标签