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'的变量。
我尝试了上面的代码,但它不起作用。
答案 0 :(得分:2)
刚刚解决了新手问题...用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();
}
答案 1 :(得分:0)
在Java以及其他编程语言中,this
引用类的当前实例,其类型与类类型相同。
答案 2 :(得分:0)
在quitGame
方法this.finishAffinity()
内部无效,因为您位于onClickListener
内,this
将引用该侦听器。只需简单地使用MainActivity.this
引用您的活动,然后调用此处。
public void quitGame(View v){
MainActivity.this.finishAffinity();
}
将您的活动存储为成员变量并不是一个好主意。