2

Я делаю приложение, которое получает данные из веб-службы с Android-приложение, которое имеет 2 вида.обновить arraylist во втором намерении

Сначала спросите логин и пароль. Тогда запрос активности на веб-сервиса, и если есть ДАННЫЕ, он создает намерение, которое показывает ДАННЫЕ в виде списка:

Main

private ArrayList accountlist = new ArrayList(); 
... 
accountlist.add(...) 
... 
Intent intent = new Intent(Main.this, Second.class); 
intent.putExtra("accountlist", accountlist); 
intent.putExtra("login", loginEditText.getText().toString()); 
intent.putExtra("pass", passwordEditText.getText().toString()); 
startActivity(intent); 

Второй

private ArrayList accountlist; 
... 
public void onCreate(Bundle savedInstanceState) { 
... 
setListAdapter(new ArrayAdapter<String>(this, R.layout.results,accountlist)); 
... 
} 
private void refresh() { 
... 
accountlist.add(...) 
setListAdapter(new ArrayAdapter<String>(this, R.layout.results,accountlist)); 
} 

В результате У меня есть элементы, которые добавляются в текущий список (например, у меня есть 2 предмета, если я обновляюсь 4 раза, у меня будет 10 предметов в представлении, а я палочка только 2 последних)

Если у вас есть Идея: D

ответ

0

Хорошо, я просто использовал

accountlist.clear(); 

methid только после того, как

Intent intent = new Intent(Main.this, Second.class); 
intent.putExtra("accountlist", accountlist); 
intent.putExtra("login", loginEditText.getText().toString()); 
intent.putExtra("pass", passwordEditText.getText().toString()); 
startActivity(intent); 

, чтобы очистить список, который будет повторно использоваться для запуска намерения!

0

Вы не можете передать ArrayList непосредственно между действиями, вам нужно перейти к виду объекта путем сериализации. прочитать: How do I pass an object from one activity to another on Android?

+1

ArrayList реализует Serializable, поэтому он отлично подходит для передачи его между действиями. –

+0

@julien: Это не проблема, это отлично работает, но в методе обновления (2-й класс/намерение) я хочу удалить и очистить элементы, которые уже есть в списке, а затем добавить новость (не просто добавить новые) – clement

+0

@Prabhu: спасибо, я прочитал :-) – clement

Смежные вопросы