2016-04-24 6 views
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(); 
      } 
     }); 

    } 
+2

yourListView.notifyDataSetChangedた後、あなたのbuttonhomeOnClickListenerlistAdapter.notifyDataSetChanged();を追加します。 )あなたの問題を解決します;) –

+0

いくつかのコードや例を追加したり、その動作を説明できますか? –

+0

あなたのコードを追加すれば、私はあなたを助けるかもしれません。 –

答えて

0

ジャスト)(refresh();

+0

ありがとうございます。解決済み:) –

関連する問題