Android - 如何为"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。

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是指类的当前实例,其类型与类类型相同。

在你的

quitGame方法中,this.finishAffinity()不起作用,因为你在一个onClickListener内,this将引用该侦听器。只需简单地将您的活动与 MainActivity.this ,并就此调用完成。

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

活动存储为成员变量不是一个好主意。

最新更新