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());
}
}
});
}