计算机学习网-【computerpx】

招生咨询电话与微信:15225191462(周老师)
计算机学习网,我命由我不由天,学IT技术,做更好的自己

首页 > 计算机知识/ 正文

android开发中, 需要关闭另一个activity

2014-01-06 16:58:01 www.computerpx.com

 我想再安卓程序中的一个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。

Tags:在郑州北大青鸟学技术值吗,北大青鸟郑州学校学费是怎么收的,郑州北大青鸟是不是不好呀,高考没考好300多分上什么学校好,郑州计算机职业中专学校都有哪些,郑州北大青鸟住宿及宿舍条件好不好

郑州北大青鸟计算机专业学校
郑州北大青鸟计算机专业学校介绍
郑州北大青鸟计算机专业学校专业设置
郑州北大青鸟计算机专业学校招生要求
郑州北大青鸟计算机专业学校校园活动
郑州北大青鸟计算机专业学校就业保障
搜索
计算机培训学校,就来计算机学习网咨询
计算机培训学校,就来计算机学习网咨询
热门标签
计算机培训学校,就来计算机学习网咨询
计算机培训学校,就来计算机学习网咨询
计算机培训学校,就来计算机学习网咨询
  • QQ交谈