Android listview将数据添加到顶部,而不是添加到底部

Android listview将数据添加到顶部,而不是添加到底部,android,listview,android-arrayadapter,Android,Listview,Android Arrayadapter,我有一个使用聊天的列表视图。当我发送新数据时,它会添加到listview的顶部。我尝试了使用listview的底层堆栈,但问题仍然存在。请检查下面的代码 <ListView android:id="@+id/messageContainer" android:layout_width="match_parent" android:layout_height="129dp" android:stackFromBotto

我有一个使用聊天的列表视图。当我发送新数据时,它会添加到listview的顶部。我尝试了使用listview的底层堆栈,但问题仍然存在。请检查下面的代码

     <ListView
        android:id="@+id/messageContainer"
        android:layout_width="match_parent"
        android:layout_height="129dp"
        android:stackFromBottom="true"
        android:transcriptMode="normal"
        tools:layout_editor_absoluteX="8dp"
        tools:layout_editor_absoluteY="363dp" /> 


  public void getChat() {
    new AsyncTask<String, String, String>() {
       protected void onPostExecute(String s) {
            super.onPostExecute(s);
            try {
                JSONArray jsonarray = new JSONArray(s);
                chatLst.clear();
                for (int i = 0; i < jsonarray.length(); i++) {
                    JSONObject jsonobject = jsonarray.getJSONObject(i);
                    ChatMessage chatMesage = new ChatMessage();
                    if (!jsonobject.isNull("id")) {
                        chatMesage.setId(jsonobject.getString("id"));
                    }

                    if (!jsonobject.isNull("text")) {
                        chatMesage.setChattext(jsonobject.getString("text"));
                    }
                    if (!jsonobject.isNull("time")) {
                        chatMesage.setChattime(jsonobject.getString("time"));
                    }

                    chatLst.add(chatMesage);
                }
                if (messagesContainer.getAdapter() == null) {
                    adapter = new ChatAdapter(chatLst, OrderAndChat.this, serverOrderCreator);
                    messagesContainer.setAdapter(adapter);
                } else {
                    adapter.notifyDataSetChanged();
                }

                progressDialog.hide();

            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }.execute();
 }

public void getChat(){
新建异步任务(){
受保护的void onPostExecute(字符串s){
super.onPostExecute(s);
试一试{
JSONArray JSONArray=新JSONArray;
chatLst.clear();
for(int i=0;i

请帮助解决此问题。

是否尝试将项目添加到列表中的位置0?类似于
chatLst.add(0,chatmasage)
apdater
接受列表中项目的默认排序,如果您在列表的0位置插入一个项目,它将在
列表视图的顶部可见,谢谢,伙计。它正在工作。刷新时有没有办法停止滚动listview?我会每隔30秒调用这个getChat函数。嗯。。也许可以尝试
listView.setScrollContainer(false)