IFFav_1995 2018-03-01 05:05 采纳率: 100%
浏览 1114
已采纳

Activity intent传值,在get方法中为什么只取到了private int 的原始值

问题:在前一个Activity中设置了传值row和column=4或6,经过测试到mainActivity传值成功。当在gameView中取getRow的值时,每次只取到private中的值6,而不取传过的intent中的值。

代码如下:

public class MainActivity extends Activity {
private int row = 6;
private int column= 6;
public MainActivity() {
mainActivity = this;
}

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvscore = findViewById(R.id.tvScore);
Intent intent = this.getIntent();
row = intent.getIntExtra("row", 4);
column = intent.getIntExtra("column", 4);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

public void clearScore() {
score = 0;
showScore();
}

private void showScore() {
// TODO Auto-generated method stub
// if(int s = getMax(CardMap[x][y])){
//
// }
tvscore.setText(score + "");

}

public void addScore(int s) {
score += s;
showScore();
}

private TextView tvscore;
private int score = 0;
public static MainActivity mainActivity = null;

public static MainActivity getMainActivity() {
return mainActivity;
}

public int getColumn() {
return column;
}

public int getRow() {
return row;
}
}

GameView中的部分代码:

private int row, column;
private Cards[][] cardMap = new Cards[10][10];
private ArrayList emptyPoints = new ArrayList<>();

public GameView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
initGame();
}

public void initGame() {
// TODO Auto-generated method stub
row = MainActivity.getMainActivity().getRow();
column = MainActivity.getMainActivity().getColumn();
setColumnCount(column);
setBackgroundColor(getResources().getColor(R.color.grey3));

求大神解答!!!谢谢谢谢!!!

  • 写回答

3条回答 默认 最新

  • greenbill 2018-03-01 06:31
    关注

    你在activity setContentView的时候就会触发gameview initGame方法。这时候row column 还没有被赋值为你传递的值还是默认值6.所以一直拿到都是默认值。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮