【问题标题】:What is the difference between finish() and ActivityName.this.finish()?finish() 和 ActivityName.this.finish() 有什么区别?
【发布时间】:2012-11-15 08:55:59
【问题描述】:

finish()ActivityName.this.finish() 有什么区别吗?如果我们有名称为SampleActivity 的活动,我们可以通过调用finish()SampleActivity.this.finish() 来完成它。有什么区别?

【问题讨论】:

    标签: android android-activity activity-finish


    【解决方案1】:

    大部分时间都是一样的,除非你在内部类中。

    在这种情况下,第二种表示法用于消除对包含活动方法的调用的歧义。

    例如:

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        finish(); // the activity's finish()
    
        new Runnable() {
    
            private void finish() {
                ...
            }
    
            @Override
            public void run() {
                SampleActivity.this.finish(); // the activity's finish()
                finish(); // the runnable's finish()
            }
        };
    
        new Runnable() {
    
            @Override
            public void run() {
                SampleActivity.this.finish(); // the activity's finish()
                finish(); // the activity's finish() (because the inner class doesn't hide it
            }
        };
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-19
      • 2010-10-02
      • 2011-12-12
      • 2010-09-16
      • 2012-03-14
      • 2012-02-06
      • 2011-02-25
      • 2011-11-22
      相关资源
      最近更新 更多