我正在尝试制作我的第一个Android应用,但遇到了一个错误,我不知道如何修复。 我想在按下图像按钮时更改名为buttonPressed的变量的值,这是我到目前为止的代码: boolean buttonPressed = false;
ImageButton button_a=(ImageButton)findViewById(R.id.blue_a_button);
//a function to play the audio when button_a is pressed
button_a.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
player=MediaPlayer.create(GameActivity.this,R.raw.a);
player.start();
buttonPressed = true;
}
});
然而,当我在Android Studio中键入此内容时,我收到错误:“变量”buttonPressed“是从内部类中获取的,需要声明为final”
如果我将变量设为final,则无法更改该值。我该怎么办?
干杯:)
答案 0 :(得分:2)
只需将您的变量声明为:
public class <Your Class Name> extends Activity{
private boolean buttonPressed;
答案 1 :(得分:2)
如果要在按下按钮时访问该变量,则应将其声明为类变量
public class MainActivity extends Activity {
Boolean buttonPressed = false;
@Override
public void onCreate(Bundle savedInstanceState) {
//-->>>>> If you will declare the variable here, then it has to be final..
final Button button_a = (Button) findViewById(R.id.button_a);
//a function to play the audio when button_a is pressed
button_a.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
player=MediaPlayer.create(GameActivity.this,R.raw.a);
player.start();
buttonPressed = true;
}
});
}
}