0
リストビューをクリアすると、リストビューはなくなります。リストビューはforループからデータをフェッチします。listviewをクリアして新しいリストビューを追加する方法
回避方法:任意のループ内
置くsetdaylist.clear()は、すべてのリストビューをクリアして、唯一のリスト項目を表示します。
メソッドの最上部に設定すると、すべてのリストビュー、すべてのソリューションが消去されますか?
コード:
public void onDataGotOnline(JSONObject response) {
DateTime today = new DateTime().withTimeAtStartOfDay();
DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
try {
JSONArray currentData = response.getJSONArray("list");
// setdaylist.clear();
for (int i = 1; i < 5; i++) {
DateTime tomorow = today.plusDays(i).withTimeAtStartOfDay();
String dtStr = fmt.print(tomorow);
int info = 0;
for(; info<currentData.length();info++){
JSONObject managedata = currentData.getJSONObject(info);
String time= managedata.getString("dt_txt");
if(time.equals(dtStr)){
int getResult=info+8;
double[] arrayAverageTemp = new double[8];
double[] arrayMaxTemp = new double[8];
double[] arrayMinTemp = new double[8];
int[] arrayWheaterId = new int[8];
for (int a = info; a < getResult; a++) {
JSONObject datalist = currentData.getJSONObject(i);
JSONArray weatherdata = datalist.getJSONArray("weather");
JSONObject weatherdata2 = weatherdata.getJSONObject(weatherdata.length() - 1);
int id = weatherdata2.getInt("id");
JSONObject weather = datalist.getJSONObject("main");
double avg_temp = weather.getDouble("temp");
double max_temp = weather.getDouble("temp_max");
double min_temp = weather.getDouble("temp_min");
arrayWheaterId[a-info]=id;
arrayAverageTemp[a-info]=avg_temp;
arrayMaxTemp[a-info]=max_temp;
arrayMinTemp[a-info]=min_temp;
}
ManageData manageData = new ManageData();
double max = manageData.findMax(arrayMaxTemp);
double min = manageData.findMin(arrayMinTemp);
WheatherData day = new WheatherData();
day.setDay("sunday");
// int image = convert.covertImage(icon);
day.setImage(R.drawable.ic_image_01d);
day.setDescrption("asdasd");
day.setAvgTemp("14 °c");
day.setMaxTemp(max+ "°c");
day.setMinTemp(min+ "°c");
setdaylist.add(day);
adapter.notifyDataSetChanged();
// findMax(arrayMaxTemp);
//findMin(arrayMinTemp);
//findID(arrayWheaterId);
//findaverage(arrayAverageTemp);
}
}
}
}
catch (JSONException e){
}
}
いつリストビューをクリアしますか?新しいリストビューをいつ作成しますか? – 09Q71AO534
'setdaylist.clear();'と 'adapter.notifyDataSetChanged();'はリストにデータを追加して再度通知します – SaravInfern
@ 09Q71AO534上記のメソッドonDatagotOnlineはintefaceメソッドです。新しいリストアイテムを追加する必要があります。 – kenji