0
現在更新されているデータをサーバーからロードしたい場合は、valley api(json response)を使用してください。OnClickメソッドのアクティビティでデータを更新しますか?
onCreateは初めてデータのみを読み込んでいます。新しいデータがリストに追加されることはありません。
listview(画像、テキストを含む)にデータをロードしています。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_downloadimg);
buttonrefresh = (Button) findViewById(R.id.btnrefresh);
listView = (ListView) findViewById(R.id.listViewdoenload);
listItems = new ArrayList<InfoData>();
listAdapter = new CustomAdapter(this, listItems);
listView.setAdapter(listAdapter);
Cache cache = VolleySingleton.getInstance().getRequestQueue().getCache();
Cache.Entry entry = cache.get(URL_FEED);
if (entry != null) {
// fetch the data from cache
try {
String data = new String(entry.data, "UTF-8");
try {
parseJsonFeed(new JSONObject(data));
} catch (JSONException e) {
e.printStackTrace();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
} else {
// making fresh volley request and getting json
JsonObjectRequest jsonReq = new JsonObjectRequest(Request.Method.GET,
URL_FEED, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
VolleyLog.d(TAG, "Response: " + response.toString());
Log.d("Response: ", response.toString());
if (response != null) {
parseJsonFeed(response);
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
}
});
// Adding request to volley request queue
VolleySingleton.getInstance().addToRequestQueue(jsonReq);
}
buttonhome.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
refresh();
}
});
}
yourListView.notifyDataSetChangedた後、あなたの
buttonhome
のOnClickListener
内listAdapter.notifyDataSetChanged();
を追加します。 )あなたの問題を解決します;) –いくつかのコードや例を追加したり、その動作を説明できますか? –
あなたのコードを追加すれば、私はあなたを助けるかもしれません。 –