【发布时间】:2013-08-28 13:45:54
【问题描述】:
我正在为某款游戏开发某种“分数跟踪器”应用程序。用户添加一定数量的玩家(目前数量不限),然后将这些玩家名称添加到 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 变量更好的方法?
我需要app根据ArrayList自动生成int,如果ArrayList包含5个玩家,则需要创建5个int,因为我不知道用户会进入多少个玩家。
【问题讨论】:
-
为什么不使用 Map 或
作品 的List? -
@rocketboy 我从来没有做过这样的事情,我还是个初学者。您能否就如何执行此操作添加一些解释?谢谢
标签: java android eclipse arraylist