public class MainActivity extends AppCompatActivity {
private static MainActivity mainactivity = null;
public static int Score = 0;
public TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text = (TextView)findViewById(R.id.tvScore);
text.setText("333333333333333333333333333");
}
public MainActivity() {
mainactivity = this;
}
public static MainActivity getMainActivity() {
return mainactivity;
}
public void show() {
text.setText(Score+"");
}
public void clearScore(){
Score = 0;
show();
}
public void addScore(int s){
Score+=s;
show();
}
}
在GameView中调用clearScore()初始化程序会崩溃去掉MainActivity.getMainActivity().clearScore(); 可以运行但是分数无法显示
private void startGame() {
for (int y = 0; y < 4; y++) {
for (int x = 0; x < 4; x++) {
cardsMap[x][y].setNum(0);
}
}
MainActivity.getMainActivity().clearScore();
addRandomNum(); // 开始时先有两个方格有数字
addRandomNum();
}
总之就是调用涉及到分数显示Show()函数的时候 程序崩溃