Если кто-нибудь может сказать мне другой способ сделать это, я был бы признателен. Как сбросить переменную класса до 0 или значение по умолчанию? Я использую переменную класса, потому что я не знаю другого способа сделать это. После окончания моей игры я помещаю результат в переменную класса, потому что у меня есть два раунда моей игры, и после первого раунда я добавляю результат, а переменная класса хороша для этой причины, даже после того, как я перезапустил свой игровой метод, он все еще удерживает мою предыдущую результат. По завершении второго раунда я добавляю этот результат к предыдущему результату, а затем закрываю действие и устанавливаю текст в виде текста на кнопку. Но когда я нажимаю «Новая игра», эта кнопка сохраняет этот текст, поэтому классная переменная все еще удерживает его. Как сбросить эту переменную класса, когда я иду в новую игру?Как сбросить переменную класса до значения по умолчанию 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;
}
}
}
Ваши имена переменных не очень помогает ... –
Используете ли вы ту же кнопку, при запуске новой игры, так как при переходе на следующий этап? Если это так, вы должны использовать счетчик и сбросить счетчик и результат, как только счетчик достигнет определенного значения. –
Нет, не то же самое. Я использую Handler для перезагрузки моей игровой активности. – marjanbaz