Android - 如何为 'this' 声明一个变量?

Android - How to declare a variable for 'this'?

public class MainActivity extends AppCompatActivity {

  //the problem is here
  private class this_Variable=this;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);


  }

  public void quitGame(View v){
    this_Variable.finishAffinity();
  }

}

正如您在上面看到的代码,我想将 'this' 分配给一个名为 'this_variable' 的变量。

上面的代码我试过了,还是不行。

刚刚解决了新手问题...用 MainActivity 替换 class。

public class MainActivity extends AppCompatActivity {

  //the problem is here
  private MainActivity this_Variable=this;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);


  }

  public void quitGame(View v){
    this_Variable.finishAffinity();
  }

}

或者只是

public void quitGame(View v){
  MainActivity.this.finishAffinity();
}

在Java以及其他编程语言中,this指的是class的当前实例,其类型与class类型相同。

在您的 quitGame 方法中 this.finishAffinity() 将不起作用,因为您在 onClickListener 中,并且 this 将引用该侦听器。只需简单地用 MainActivity.this 引用您的 activity,然后调用 finish。

public void quitGame(View v){
    MainActivity.this.finishAffinity();
}

将你的 activity 存储为成员变量不是一个好主意。