我正在为某个游戏开发某种“分数跟踪器”应用程序。用户添加一定数量的玩家(目前数量不限),然后将这些玩家名称添加到 ArrayList。然后在下一个活动中,用户必须从 Spinner 中选择一个玩家名称并输入一定数量的“点数”,或者说该玩家的“分数”。
这是我目前的代码:
public void submitScore(View v){
LinearLayout lLayout = (LinearLayout) findViewById (R.id.linearLayout);
final int position = playerList.getSelectedItemPosition();
EditText input = (EditText) findViewById(R.id.editText1);
final LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
final TextView newTextView = new TextView(this);
String enteredText = input.getText().toString();
if (enteredText.matches(""))
{
emptyTextError();
}
else
{
//NEW TEXTVIEW
newTextView.setLayoutParams(lparams);
newTextView.setText(players.get(position) + " " + score);
newTextView.setTextSize(20);
lLayout.addView(newTextView);
}
}
如您所见,用户输入某个分数并创建一个包含玩家姓名和当前分数的新文本视图。
现在我想做的是实现一个跟踪每个玩家得分的功能。
示例:用户添加了 2 个玩家,一个叫 John,一个叫 Jack。然后用户给 John 加了 20 分,过了一会儿又给了 20 分,也给了 john。现在 textViews 应该如下所示:
约翰 20
约翰 40
然后如果用户给 Jack 加 10 分,给 John 加 20 分,TextViews 应该是这样的:
约翰 20
约翰 40
杰克 10
约翰 60
这是我不知道该怎么做。如何为每个 ArrayList 元素实现一个新的 int 变量?或者有比制作 int 变量更好的方法吗?
我需要应用程序根据 ArrayList 自动生成整数,如果 ArrayList 包含 5 个播放器,则需要创建 5 个整数,因为我不知道用户将输入多少个播放器。