1.RT,我想實作通過點選fragment界面上面的按鈕動态更新fragment界面上面的listview資料,我把更新Listview的方法寫到一個showlist()的方法裡面
private void showList() {
mArrayList.clear();
for (int i = 2; i < paraList.size(); i++) {
Para para = paraList.get(i);
HashMap map = new HashMap();
map.put("one_show_item_title", para.getName());
map.put("one_show_item_text", para.getValue());
mArrayList.add(map);
}
simpleAdapter = new SimpleAdapter(getContext(),
mArrayList,
R.layout.item_listview_fg_one,
new String[]{"one_show_item_title", "one_show_item_text"}, //動态數組裡與ListItem對應的子項
new int[]{R.id.one_show_item_title, R.id.one_show_item_text} //
);
for (HashMap map : mArrayList) {
Log.d(TAG, "run: " + map.get("one_show_item_title"));
Log.d(TAG, "run: " + map.get("one_show_item_text"));
}
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
lv_fg_one_show.setAdapter(simpleAdapter);
}
});
}
然後在updatalist中更新數組中的資料,更新完了之後再調用showlist方法來更新listview,可是依然無法更新,請問這是怎麼回事?
private void updateList(String url) {
HttpUtils.sendOkHttpRequest(url, new okhttp3.Callback() {
@Override
public void onFailure(Call call, IOException e) {
//網絡錯誤
android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(getContext());
builder.setMessage("請确認已連接配接上伺服器!")
.setPositiveButton("确定", null);
builder.show();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
//傳回正确資料,json串存于response.body().string()
String data = response.body().string();
Gson gson = new Gson();
paraList.clear();
paraList = gson.fromJson(data, new TypeToken>() {
}.getType());
for (Para para : paraList) {
Log.d(TAG, "onResponse: ---------" + para.getString());
}
}
});
}