Ein Gewinde an einer onCreate Methode Geschichte von Server zu erhalten Chat auf Listview zu setzen, wird der Code unten angegeben:Listview erhalten automatisch nach oben, nachdem alle 2 Sekunden
Runnable run = new Runnable() {
public void run() {
// new Comments(false).execute();
new GetChatFromServer().execute();
handler.postDelayed(this, 1600);
}
};
runOnUiThread(run);
Es zu GetChatFromServer Klasse ruft zu bekommen Der letzte aktualisierte Chat-Verlauf funktioniert gut, aber das Problem ist, dass wenn ich in der Listenansicht nach unten scrolle, es automatisch nach oben scrollte.
class GetChatFromServer extends AsyncTask<String, Integer, Double> {
String chathistory;
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
System.out.println("My url is>>>>" + chatHistoryUrl);
}
@SuppressWarnings("unchecked")
@Override
protected Double doInBackground(String... params)
throws ArrayIndexOutOfBoundsException {
ServiceHandler sh = new ServiceHandler();
// Making a request to url and getting response
String jsonStr = sh.makeServiceCall(chatHistoryUrl,
ServiceHandler.GET);
chathistory = "{\"chatHistories\":" + jsonStr + "}";
Gson gson = new Gson();
Type listType = new TypeToken<List<ChatHistory>>() {
}.getType();
chatHistories = (ArrayList<ChatHistory>) gson.fromJson(jsonStr,
listType);
// ChatModel res = gson.fromJson(chathistory, ChatModel.class);
return null;
}
protected void onProgressUpdate(Integer... progress) {
// pb.setProgress(progress[0]);
}
@Override
protected void onPostExecute(Double result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
mAdapter = new ChatMessageAdapter(ChatMainActivity.this,
chatHistories, sourceId);
chatList.setAdapter(mAdapter);
}
}
Bitte, wenn jemand zu meinem Problem helfen kann. Danke im Voraus.
hatte ich umgesetzt, aber es ist nicht working.anyway danken für die Unterstützung. –