当前位置:主页 > 电脑基础 >

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

  我想再安卓程序中的一个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:BIOS设置不能保存,硬件不太“冷”体验贵为先,北桥虚焊能否继续使用,主板BIOS显卡启动顺序设置不当导致电脑,郑州软件测试培训学校哪家比较好呢,濮阳计算机培训班在哪

  • 关注微信

猜你喜欢

微信公众号