我试图在这里创建我的第一个android应用程序,我偶然发现了一个问题,我需要在if-else语句之间使用变量的值。@Overridepublic void onClick(View view) { int guess, x, y; String st_bot, st_top; if(view.getId() == R.id.btn_guess){ st_bot = bot.getText().toString(); st_top = top.getText().toString(); x = Integer.parseInt(st_bot); y = Integer.parseInt(st_top); guess = (x+y)/2; tv_guess.setText(Integer.toString(guess)); } else if (view.getId() == R.id.btn_bigger){ st_bot = tv_guess.getText().toString(); //st_top = top.getText().toString(); guess = Integer.parseInt(st_bot); //y = Integer.parseInt(st_top); guess = (guess+y)/2; tv_guess.setText(Integer.toString(guess)); } else if (view.getId() == R.id.btn_smaller){ //st_bot = bot.getText().toString(); st_top = tv_guess.getText().toString(); //x = Integer.parseInt(st_bot); guess = Integer.parseInt(st_top); guess = (x+guess)/2; tv_guess.setText(Integer.toString(guess)); }}我想从R.id.btn_guess语句传递变量x和y,以便可以在其他状态下使用先前已分配的值使用它。但是当我这样做时,x和y显示尚未初始化。当我尝试在Java编译器(而非android)中进行设置时,可以在其他语句中使用变量,而无需重新分配它。解决方法是什么?谢谢你。
3 回答
慕的地6264312
TA贡献1817条经验 获得超6个赞
根据您的变量名,我猜您正在实现“ Guess Big or Small”之类的游戏。
您似乎想要在分支中分配x
和,然后在其他两个分支中使用它们。如果这确实是您所需要的,只需将函数的声明和移到函数外部,这使它们具有更大的变量范围,并在函数第一次结束后保留它们。y
view.getId() == R.id.btn_guess
x
y
onClick
添加回答
举报
0/150
提交
取消