我花了大约一个月左右的时间开发一个计数器应用程序作为伴侣应用程序,以保持我玩的纸牌游戏。
我如此接近完成它但我无法理解我如何创建一个按钮被点击的历史/日志。该应用程序本身有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,等等......主要活动包含所有计数器(按钮和文本视图),我在该活动中有一个按钮,它将我发送到历史活动,我想要显示所有这些数据。 这是我的player1添加按钮的片段或onClick方法
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秒后,它会将文本视图更改回以白色显示的总计。
我确信这可能是两个活动的活动方法之间的简单数据发送和接收,但我无法解决这个问题。
先谢谢您的帮助
答案 0 :(得分:0)
听起来你需要使用Intent。 Intent可用于启动新Activity,但您也可以将数据添加到Intent以转移到新活动。
这是一个例子。您可以在历史记录按钮onClick方法中插入此代码。
Intent intent = new Intent(getApplicationContext(), YourHistoryActivity.class);
intent.putStringArrayListExtra("DATA_KEY", data);
startActivity(intent);
然后,在历史活动的onCreate中,您可以检索如下数据:
Bundle extras = getIntent().getExtras();
if (extras != null) {
ArrayList<String> data = extras.getStringArrayListExtra("DATA_KEY");
}
在这个例子中,我使用了一个名为&#34; data&#34;的字符串的ArrayList,因为这是你可以存储会话评分信息的一种方式,但是在这方面有很多选择,它依赖于您希望如何管理数据。