如何将类变量重置为默认值0?

时间:2013-04-05 19:58:13

标签: java android

如果有人能告诉我不同​​的做法,我将不胜感激。如何将类变量重置为0或默认值?我使用类变量因为我不知道另一种方法来做到这一点。在我的游戏结束后,我将结果放在类变量中,因为我有两轮我的游戏,并且在第一轮结束后我添加结果,并且类变量对于这个原因是好的,即使在我重新启动我的游戏方法之后它仍然保持我以前的结果。第二轮结束后,我将结果添加到上一个结果,然后关闭活动并将文本结果设置为文本到按钮。但是当我点击新游戏时,该按钮仍然保存该文本,导致类变量仍然保留它。我在进行新游戏时如何重置该类变量?

这是我的游戏代码,其中一些(100分是开始数量,游戏进度越低):

public class Asocijacije extends Activity implements OnClickListener{

int brojPoenaAsocijacije = 100;
    public static int brojPoenaUkupno;

然后我在这里跳过很多代码,这里是我添加点数的地方。 brojPoenaAsocijacije是该轮获得的积分:

brojPoenaUkupno = brojPoenaUkupno + brojPoenaAsocijacije;

这是我的主要活动,我将我的类变量设置为按钮(我添加了注释):

public class Izbor extends Activity implements OnClickListener{

    Asocijacije poeni = new Asocijacije();

    Button toploHladno, asocijacije, cigle, spojnice, nazad, poeniTH, poeniAso, poeniCigle, poeniSpojnice;
    TextView naslov;
    public boolean music;
    MediaPlayer buttonClicks, buttonBack;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        requestWindowFeature(Window.FEATURE_NO_TITLE);   //full screen
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(R.layout.izbor);

        SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
        music = getPrefs.getBoolean("checkbox", true);

        addListenerOnButton();

    }



    private void addListenerOnButton() {
        buttonClicks = MediaPlayer.create(this, R.raw.click);
        buttonBack = MediaPlayer.create(this, R.raw.button31);

        Typeface naslovType = Typeface.createFromAsset(getAssets(), "Lobster.ttf");
        Typeface dugmad = Typeface.createFromAsset(getAssets(), "Bebas.ttf");
        naslov = (TextView) findViewById(R.id.tvIzborNaslov);
        toploHladno = (Button) findViewById(R.id.bIzbor1);
        asocijacije = (Button) findViewById(R.id.bIzbor2);
        cigle = (Button) findViewById(R.id.bIzbor3);
        spojnice = (Button) findViewById(R.id.bIzbor4);
        nazad = (Button) findViewById(R.id.bIzborNazad);
        poeniTH = (Button) findViewById(R.id.bPoeniTH);
        poeniAso = (Button) findViewById(R.id.bPoeniAso);
        poeniCigle = (Button) findViewById(R.id.bPoeniCigle);
        poeniSpojnice = (Button) findViewById(R.id.bPoeniSpojnice);
        naslov.setTypeface(naslovType);
        toploHladno.setTypeface(dugmad);
        asocijacije.setTypeface(dugmad);
        cigle.setTypeface(dugmad);
        spojnice.setTypeface(dugmad);
        nazad.setTypeface(dugmad);
        poeniAso.setTypeface(dugmad);

        toploHladno.setOnClickListener(this);
        asocijacije.setOnClickListener(this);
        cigle.setOnClickListener(this);
        spojnice.setOnClickListener(this);
        nazad.setOnClickListener(this);

    }


    @Override
    protected void onStart() {
        super.onStart(); 
        poeniAso.setText("" + poeni.brojPoenaUkupno); //I do it here
    }

    public void onClick(View v) {
        switch(v.getId()){
        case R.id.bIzbor1:
            if(music == true){
                buttonClicks.start();
                    }
            startActivity(new Intent("rs.androidaplikacije.toplo_hladno.GAME"));
            break;
        case R.id.bIzbor2:
            if(music == true){
                buttonClicks.start();
                    }
            startActivity(new Intent("rs.androidaplikacije.toplo_hladno.ASOCIJACIJE"));
            break;
        case R.id.bIzbor3:
            if(music == true){
                buttonClicks.start();
                    }

            break;
        case R.id.bIzbor4:
            if(music == true){
                buttonClicks.start();
                    }

            break;
        case R.id.bIzborNazad:
            if(music == true){
                buttonBack.start();
                    }
            poeniAso.setText("");
            finish();
            break;
        }

    }

}

2 个答案:

答案 0 :(得分:2)

因为我没有找到你开始新游戏的代码段,所以我只能说:

Asocijacije.brojPoenaUkupno = 0;

答案 1 :(得分:1)

当您关闭游戏内活动时,可能希望重置您的状态。

@Override
protected void onDestroy() {
    super.onDestroy();
    Asocijacije.brojPoenaUkupno = 0;
    //whatever other things need to be reset.
}