如何在按下按钮时更改变量的值(Android Studio)

时间:2015-01-23 15:55:18

标签: java android android-studio

我正在尝试制作我的第一个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,则无法更改该值。我该怎么办?

干杯:)

2 个答案:

答案 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;
        }
    });
    }
}