Trong phương pháp xử lý của bạn:
if(playerList.size() < 10) {
// playerList.add
} else {
// do nothing
}
Sửa: sai lầm của bạn là ở đây:
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
}
Bạn nên kiểm tra kích thước bên trong onClickListener
, không bên ngoài:
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
}
}
});
Các bạn đã thử sử dụng một mảng thay vì một danh sách? 'String [] myarray = new String [10]; ' – Jave
ArrayList nhanh hơn và có thể thay đổi hơn String [] – Lucifer
ArrayList chắc chắn không nhanh hơn mảng, đặc biệt vì ArrayList sử dụng mảng nội bộ để lưu trữ dữ liệu. Lý do sử dụng danh sách thay vì mảng là danh sách linh hoạt hơn, một phần trong đó chức năng op muốn xóa. – Jave