kos*_*osa 20
默认情况下,list会在底部添加元素.这就是为什么你添加的所有新元素都将显示在底部.如果你想以相反的顺序,可能在设置listadapter/view之前反转列表
就像是:
Collections.reverse(yourList);
Run Code Online (Sandbox Code Playgroud)
mes*_*mes 15
另一种不修改原始列表的解决方案,覆盖适配器中的getItem()方法
@Override
public Item getItem(int position) {
return super.getItem(getCount() - position - 1);
}
Run Code Online (Sandbox Code Playgroud)
更新:示例
public class ChatAdapter extends ArrayAdapter<ChatItem> {
public ChatAdapter(Context context, List<ChatItem> chats) {
super(context, R.layout.row_chat, chats);
}
@Override
public Item getItem(int position) {
return super.getItem(getCount() - position - 1);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null) {
convertView = inflater.inflate(R.layout.row_chat, parent, false);
}
ChatItem chatItem = getItem(position);
//Other code here
return convertView;
}
Run Code Online (Sandbox Code Playgroud)
}
aym*_*ric 10
您应该使用an ArrayAdapter并使用该insert(T, int)方法.
例如:
ListView lv = new ListView(context);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(context, R.id...);
lv.setAdapter(adapter);
...
adapter.insert("Hello", 0);
Run Code Online (Sandbox Code Playgroud)