0

と の間に違いはfinish()ありActivityName.this.finish()ますか? name のアクティビティがある場合は、とSampleActivityを呼び出して終了できます。違いはなんですか?finish()SampleActivity.this.finish()

4

1 に答える 1

8

内部クラス内にいる場合を除いて、ほとんどの場合は同じです。

その場合、2 番目の表記は、含まれているアクティビティのメソッドへの呼び出しを明確にするために使用されます。

例えば:

@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
        }
    };
}
于 2012-11-15T08:57:07.100 に答える