Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Re: ListView + Adapter Repetindo Registros

Faz assim:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder = null;
    LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
    if (convertView == null) {
        convertView = mInflater.inflate(R.layout.list_item, null);
        holder = new ViewHolder();
        holder.nomeProduto = (TextView) convertView .findViewById(R.id.nomeProduto);
        holder.imagemProduto = (ImageView) convertView.findViewById(R.id.imagemProduto);
        holder.precoProduto = (TextView) convertView.findViewById(R.id.precoProduto);
        holder.localProduto = (TextView) convertView.findViewById(R.id.localProduto);
        holder.dataProduto = (TextView) convertView .findViewById(R.id.dataProduto);
    } else {
        holder = (ViewHolder) convertView.getTag();
    }

    RowItem row_pos = rowItems.get(position);
    holder.imagemProduto.setImageResource(row_pos.getImagemProduto());
    holder.nomeProduto.setText(row_pos.getNomeProduto());
    holder.precoProduto.setText(row_pos.getPrecoProduto());
    holder.localProduto.setText(row_pos.getLocalProduto());
    holder.dataProduto.setText(row_pos.getDataProduto());

    return convertView;
}

2015-06-12 11:12 GMT-03:00 Vinny Valente <irmaocaradepau@gmail.com>:








public class CustomAdapterLista extends BaseAdapter {




        Context context;


        List<RowItem> rowItems;




        public  CustomAdapterLista (Context context, List<RowItem> rowItems) {


                this.context = context;


                this.rowItems = rowItems;


        }


       


        @Override


         public int getCount() {


          return rowItems.size();


         }




         @Override


         public Object getItem(int position) {


          return rowItems.get(position);


         }


         


         @Override


         public long getItemId(int position) {


          return rowItems.indexOf(getItem(position));


         }




         /* private view holder class */


         private class ViewHolder {


          ImageView imagemProduto;


          TextView nomeProduto;


          TextView precoProduto;


          TextView localProduto;


          TextView dataProduto;


         }


         


         @Override


         public View getView(int position, View convertView, ViewGroup parent) {




          ViewHolder holder = null;




          LayoutInflater mInflater = (LayoutInflater) context


            .getSystemService(Activity.LAYOUT_INFLATER_SERVICE);


          if (convertView == null) {


           convertView = mInflater.inflate(R.layout.list_item, null);


           holder = new ViewHolder();




           holder.nomeProduto = (TextView) convertView


             .findViewById(R.id.nomeProduto);


           holder.imagemProduto = (ImageView) convertView


             .findViewById(R.id.imagemProduto);


           holder.precoProduto = (TextView) convertView.findViewById(R.id.precoProduto);


           holder.localProduto = (TextView) convertView


             .findViewById(R.id.localProduto);


           holder.dataProduto = (TextView) convertView


                             .findViewById(R.id.dataProduto);




           RowItem row_pos = rowItems.get(position);




           holder.imagemProduto.setImageResource(row_pos.getImagemProduto());


           holder.nomeProduto.setText(row_pos.getNomeProduto());


           holder.precoProduto.setText(row_pos.getPrecoProduto());


           holder.localProduto.setText(row_pos.getLocalProduto());


           holder.dataProduto.setText(row_pos.getDataProduto());




           convertView.setTag(holder);


           


          } else {


           holder = (ViewHolder) convertView.getTag();


          }




          return convertView;


         }




}




Em quarta-feira, 10 de junho de 2015 17:38:11 UTC-3, Gink Labrev escreveu:
Kd o código do adapter?

Em 10 de junho de 2015 16:12, Vinny Valente <irmaoca...@gmail.com> escreveu:
Alguem? UP!


Em terça-feira, 9 de junho de 2015 19:10:05 UTC-3, Vinny Valente escreveu:
Olá galera,

Tenho uma ListView com Adapter que é a primeira tela e a principal do meu app. Quando abre o aplicativo já carrego ela via json, porem a cada 10 registros os mesmos se repetem.
Verifiquei a listas no debug e esta OK, porem na tela se repetem. 
Outra coisa que esta acontecendo é quando a tela é movida para baixo para ver outros registros e retorno ao inicio dela, o primeiro registro esta trocado por outro.

Alguém tem ideia?

Segue o código

    @Override


    protected void onCreate(Bundle savedInstanceState) {


        super.onCreate(savedInstanceState);


        setContentView(R.layout.activity_main);



        mNavigationDrawerFragment = (NavigationDrawerFragment)


                getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);


        mTitle = getTitle();


        mNavigationDrawerFragment.setUp(


                R.id.navigation_drawer,


                (DrawerLayout) findViewById(R.id.drawer_layout));


               


                rq = Volley.newRequestQueue(MainActivity.this);


               


                callByJsonObjectRequest(null);

 


    }


   


        public void callByJsonObjectRequest(View view){


                Log.i("Script", "ENTREI: callByJsonObjectRequest()");


               


                params = new HashMap<String, String>();


                params.put("method", "web-data-jor");


               


                CustomJsonObjectRequest request = new CustomJsonObjectRequest(Method.POST,


                        url,


                        params,


                        new Response.Listener<JSONObject>(){


                                @Override


                                public void onResponse(JSONObject response) {


                                        Log.i("Script", "SUCCESS: "+ response);


                                        trataJSON(response);


                                }


                        },


                        new Response.ErrorListener() {


                                @Override


                                public void onErrorResponse(VolleyError error) {


                                        Toast.makeText(MainActivity.this, "Error: "+ error.getMessage(), Toast.LENGTH_LONG).show();


                                }


                });


               


                request.setTag("tag");


                rq.add(request);


        }


        public void trataJSON(JSONObject response){


               


        JSONArray retorno = null;


                try {


                        retorno = response.getJSONArray("retorno");


                       


                } catch (JSONException e) {


                        e.printStackTrace();


                }


       

...

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário