Я провел последний месяц или около того, разрабатывая приложение-счетчик в качестве сопутствующего приложения для подсчета очков в карточной игре, в которую я играю.
Я так близок к завершению, но не могу понять, как создать историю/журнал того, какие кнопки были нажаты. Само приложение имеет 4 счетчика (по 2 на игрока), и мне нужна активность, которая при доступе показывает, сколько раз была нажата кнопка. Например, если у одного игрока было 5 жетонов +1, а у другого — 2 жетона +1, история активности должна показывать это, а также каждое последующее добавление или вычитание. Если у одного игрока есть +2, а через несколько минут есть еще один +2, я хочу, чтобы он говорил сумму с добавленной суммой каждый раз рядом с ним со временем нажатия кнопки. Например вот так:
17:32:12 | 22 | +2
17:34:43 | 25 | +3
17:36:12 | 21 | -4
17:39:51 | 15 | -6 и так далее...
Основное действие содержит все счетчики (кнопки и текстовые представления), и у меня есть кнопка в этом действии, которая отправляет меня к действию истории, в котором я хочу, чтобы все эти данные отображались. Вот фрагмент или метод onClick для моего player1 add кнопка
p1AddL.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
final MediaPlayer buttonSound = MediaPlayer.create(MainActivity.this, R.raw.button_points);
SharedPreferences muteButton = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
final boolean soundEffects = muteButton.getBoolean("mutebutton", true);
p1AddL.startAnimation(a);
if (soundEffects == false)
buttonSound.start();
counter1 ++;
count1 ++;
if (count1 == 0) {
if (counter1 >= 9|counter1 <= -1) {
lifepointsP1.setText("" + counter1);
} else
lifepointsP1.setText("0" + counter1);
} else {
if (count1 > 0) {
lifepointsP1.setText("+" + count1);
lifepointsP1.setTextColor(Color.GREEN);
}
Runnable clickButton = new Runnable() {
@Override
public void run() {
count1 = 0;
lifepointsP1.setTextColor(Color.WHITE);
if (counter1 >= 9|counter1 <= -1) {
lifepointsP1.setText("" + counter1);
} else
lifepointsP1.setText("0" + counter1);
}
};
p1AddL.postDelayed(clickButton, 2000);
}
}
});
Что это делает, так это то, что при нажатии кнопки текст меняется на зеленый +1, +2, +3 и т. д. в зависимости от того, сколько раз нажимается кнопка добавления. Через 2 секунды после нажатия кнопки текстовое представление меняется на общее, которое отображается белым цветом.
Я уверен, что это, вероятно, простой метод отправки и получения данных между действиями для обоих действий, но я просто не могу это решить.
Заранее спасибо за вашу помощь