qq_39439202 2017-07-13 12:19 采纳率: 0%
浏览 1253

android 2048 分数显示问题 调用MainActivity中的Show函数程序崩溃

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()函数的时候 程序崩溃
![![图片说明](https://img-ask.csdn.net/upload/201707/13/1499948382_143023.png)图片说明](https://img-ask.csdn.net/upload/201707/13/1499948377_746397.png)图片说明

  • 写回答

2条回答 默认 最新

  • Jacky-G 2017-07-17 07:42
    关注

    看你这个错误是不是因为在线程里面去更新UI了?先这样改下,不行,完整的错误贴出来看下
    public void show() {
    runOnUiThread(new Runnable() {
    @Override
    public void run() {
    text.setText(Score+"");
    }
    });
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建