2016-03-27 16 views
0

Daha fazla veri görüntülemek için recyclerview ve CardView kullanarak verileri nasıl görüntüleyeceğim ve daha fazla veri görüntülemek için nasıl çalışıyor olduğumu pratik yapıyorum ve sonunda işe koyuldum. Ama bir şekilde yenilendiğimde, son verinin alt kısmında yeni veriler gösteriliyor. Merak ediyorum ve listenin en üstünde nasıl gösteriliyorsunuz? Yenilendikten sonra bir RecyclerView'ın üstüne veri görüntülemek gerekiyor

Bu

benim Kart Adaptörü

@Override 
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
    View v = LayoutInflater.from(parent.getContext()) 
      .inflate(R.layout.superheroes_list, parent, false); 
    ViewHolder viewHolder = new ViewHolder(v); 
    return viewHolder; 
} 

@Override 
public void onBindViewHolder(ViewHolder holder, int position) { 

    SuperHero superHero = Data.get(position); 

    final String textx = superHero.getPublisher(); 
    float ratingss = Float.parseFloat(textx); 

    holder.textViewName.setText(superHero.getName()); 
    holder.textViewPublisher.setText(superHero.getPublisher()); 
    holder.rate.setRating(ratingss); 

} 

@Override 
public int getItemCount() { 
    return Data.size(); 
} 

class ViewHolder extends RecyclerView.ViewHolder{ 
    //Views 

    public TextView textViewName; 
    public TextView textViewPublisher; 
    public RatingBar rate; 

    //Initializing Views 
    public ViewHolder(View itemView) { 
     super(itemView); 

     textViewName = (TextView) itemView.findViewById(R.id.textViewName); 
     textViewPublisher = (TextView) itemView.findViewById(R.id.textViewPublisher); 
     rate = (RatingBar) itemView.findViewById(R.id.ratingBar); 
    }} 

Ve bu benim Ana Aktivite

private JsonArrayRequest getDataFromServer(int requestCount) { 
    JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Config.DATA_URL + String.valueOf(requestCount), 
      new Response.Listener<JSONArray>() { 
       @Override 
       public void onResponse(JSONArray response) { 
        parseData(response); 
        } 
      }, 
      new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 
        //If an error occurs that means end of the list has reached 
        Toast.makeText(MainActivity.this, "No More Items Available", Toast.LENGTH_SHORT).show(); 
       } 
      }); 

    //Returning the request 
    return jsonArrayRequest; 
} 


private void getData() { 
    requestQueue.add(getDataFromServer(requestCount)); requestCount++; 
} 

private void parseData(JSONArray array) { 
    for (int i = 0; i < array.length(); i++) { 

     SuperHero superHero = new SuperHero(); 
     JSONObject json = null; 
     try { 

      json = array.getJSONObject(i); 

      superHero.setName(json.getString(Config.TAG_NAME)); 
      superHero.setPublisher(json.getString(Config.TAG_PUBLISHER)); 

     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
     listSuperHeroes.add(superHero); 

Ve son olarak bu Veri

mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout); 

    mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { 
     @Override 
     public void onRefresh() { 
      Toast.makeText(getApplicationContext(), "New Data Added", Toast.LENGTH_LONG).show(); 

       getData(); 
     } 
    }); 

Herhangi bir yardım olacağını nereden benim yenileme olduğunu takdir. Şimdiden teşekkürler çocuklar! : D

+0

değiştirme listSuperHeroes.add (süper kahraman); listSuperHeroes.add (0, superHero); –

+0

@tinysunlight Hey Teşekkürler Çok kardeşim işe yarıyor. Gerçekten çok teşekkür ederim! : D –

cevap

0

Yöntem 1:

private void parseData(JSONArray array) { 
    for (int i = 0; i < array.length(); i++) { 

     SuperHero superHero = new SuperHero(); 
     JSONObject json = null; 
     try { 

      json = array.getJSONObject(i); 

      superHero.setName(json.getString(Config.TAG_NAME)); 
      superHero.setPublisher(json.getString(Config.TAG_PUBLISHER)); 

     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
     listSuperHeroes.add(0,superHero); 
    } 
} 

Yöntem 2:

mRecyclerView.setLayoutManager(new LinearLayoutManger(context ,VERTICAL, true)); 
+0

Tekrar teşekkürler kardeşim! : D –

İlgili konular