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

时间:2018-04-15 20:11:06

标签: android listview android-arrayadapter

我有一个使用聊天的列表视图。当我发送新数据时,它会添加到列表视图的顶部。我已尝试使用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();
 }

请帮助解决问题。

0 个答案:

没有答案