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