2014-01-17 69 views
1

這個android代碼是如何工作的 - 「this」在makeText方法中以靜態方式(通過類名)被引用。 (第一個參數)通過類定義使用「this」?

public class QuizActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     private Button mTrueButton; 
     mTrueButton.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
       Toast.makeText(QuizActivity.this,R.string.incorrect_toast,Toast.LENGTH_SHORT).show(); 
       } 
     }); 
    } 

} 

的問題是關於如何「合格這個」工作和它爲什麼存在,或者它的目的,但如何爲「classname.this」被內部解決的封閉對象引用?Classname.this通常用於靜態成員,它不應該在概念上適用於像「this」這樣的成員變量。除非以這種方式工作

+5

說明你有一個匿名內部類你封閉類的一個實例,如果關聯。請閱讀。 –

+0

我知道,但「靜態」(QuizActivity.this)是如何被使用的? – nikel

+0

'QuizActivity.this'指的是活動上下文。 http://developer.android.com/reference/android/content/Context.html – Raghunandan

回答