2015-10-05 7 views
-1

Поскольку андроид автоматически перемещает новые элементы в нижней части списка списка, я хочу, чтобы это было наоборот. В любом случае мое условие выполнено, я хочу добавить новые элементы в верхней части списка. Я видел этот пост here, но я не знаю, как добавить, что мой код, вот оно:Добавление новых элементов в список сверху списка

if(condition){ 
listView = (ListView) findViewById(R.id.ListView1); 
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(
      this, R.layout.list_b_text, R.id.list_content, ArrayofName); 
    listView.setAdapter(adapter); 
} 
+1

попытайтесь отменить ** ArrayofName ** перед добавлением его в адаптер. – Akbar

+0

Дайте мне минутку, позвольте мне проверить это. –

+0

используйте 'stack' вместо' list' – Rustam

ответ

2

Просто добавить каждый элемент в положении 0 вашего ArrayList поэтому, когда вы звоните listView.notifyDataSetChanged(); он будет показывать последние предметы сверху.

for (Object obj : objectList) { 
    ArrayofName.add (0, obj); // this adds new items at top of ArrayList 
} 

objectList в основном ArrayList или List из Object или String (независимо от того ваш случай). Если вы хотите добавлять элементы один за другим, удалите для цикла. Этот цикл фактически выполняет итерацию каждого элемента objectList и добавляет его в ваш ArrayList в верхнем положении.

+0

Я нашел свой ответ, но так как вы предложили свой путь, который, как мне кажется, тоже прав, я хочу спросить, что именно есть '(Object obj: objectList)' –

+0

objectList - это в основном ArrayList или List of Object или String (независимо от вашего дело). Если вы хотите добавлять элементы один за другим, удалите для цикла. Этот цикл фактически выполняет итерацию каждого элемента objectList и добавляет его в ваш ArrayList в верхней позиции. – Shahzeb

+0

Спасибо !, Поскольку ваш ответ работает, и я не могу принять комментарий как правильный, я пойду дальше и приму ваше. –

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