をリストに追加されることから、重複するビューを防止[解決しようTHX ALL]は、私は、コードに問題があるアダプタ
private void parseData(JSONArray array) {
for (int i = 0; i < array.length(); i++) {
ChatView chatvieww = new ChatView();
JSONObject json = null;
try {
json = array.getJSONObject(i);
chatvieww.setCodigo(json.getString(ChatViewUtils.TAG_CODIGO));
chatvieww.setUsername(json.getString(ChatViewUtils.TAG_USERCHAT));
chatvieww.setMensagem(json.getString(ChatViewUtils.TAG_MENSAGEM));
} catch (JSONException e) {
e.printStackTrace();
}
if (chatview.size() > 1) {
if (!chatview.get(i).getId().equals(chatview.get(i-1).getId())) {
chatview.add(chatvieww);
}
} else {
this.chatview.add(chatvieww);
}
}
//Notifying the adapter that data has been added or changed
adapter.notifyDataSetChanged();
}
私は
問題を解決する方法if (!chatview.get(i).getId().equals(chatview.get(i-1).getId()))
、でエラーが発生しています?
これは私のLogcat
、
09-02 10:22:21.163 8263-8263/pet.com.br.pet E/AndroidRuntime: FATAL EXCEPTION: main
Process: pet.com.br.pet, PID: 8263
java.lang.IndexOutOfBoundsException: Invalid index 2, size is 2
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
at java.util.ArrayList.get(ArrayList.java:308)
at pet.com.br.pet.chat.ChatViewActivity.parseData(ChatViewActivity.java:165)
chatview パブリッククラスChatView { プライベート文字列IDです。...
このエラーに関する情報を追加する必要があります。 – peterremec
エラーは何ですか? –
あなたのコードでは、おそらくiの代わりにインデックスi-1を使うべきでしょう。あなたのコードに '!chatview.get(i).getId()。equals(chatview.get(i).getId())'がありますが、その下には '!chatview.get(i).getId()があります。は(chatview.get(i-1).getId())と等しくなります。したがって、条件は常にfalseと評価されます。 – peterremec