En el método de control:
if(playerList.size() < 10) {
// playerList.add
} else {
// do nothing
}
Editar: Tu error es aquí:
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
}
Debe comprobar el tamaño en el interior del onClickListener
, no en el exterior:
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
}
}
});
¿Ha intentado utilizar una matriz en lugar de ¿una lista? 'String [] myarray = new String [10];' – Jave
ArrayList es más rápido y mutable que String [] – Lucifer
ArrayList ciertamente no es más rápido que una matriz, especialmente porque ArrayList usa una matriz interna para almacenar datos. La razón para usar listas en lugar de matrices es que las listas son más flexibles, parte de las cuales la funcionalidad op quiere eliminar. – Jave