我在我的代码中使用了ArrayList
,该字段由EditText
字段填充,但我想限制ArrayList
,使其只能容纳10个值。添加10个值后,如果另一个尝试添加,我只需要不添加到Array
中即可。任何人都知道如何做到这一点?
private static ArrayList<String> playerList = new ArrayList<String>();
最佳答案
在您的处理程序方法中:
if(playerList.size() < 10) {
// playerList.add
} else {
// do nothing
}
编辑:您的错误在这里:
if(playerList.size() < 10) {
Button confirm = (Button) findViewById(R.id.add);
confirm.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
EditText playername = (EditText) findViewById(R.id.userinput);
playerList.add(playername.getText().toString());
adapter.notifyDataSetChanged();
playername.setText("");
}});
} else {
// do nothing
}
您应该检查
onClickListener
内部的大小,而不是外部: Button confirm = (Button) findViewById(R.id.add);
confirm.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
EditText playername = (EditText) findViewById(R.id.userinput);
if(playerList.size() < 10) {
playerList.add(playername.getText().toString());
adapter.notifyDataSetChanged();
playername.setText("");
} else {
// do nothing
}
}
});