Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Re: Como eu posso modificar um texto de um GridView?

Thatiany, não li todo código, mas pela sua pergunta acho que vale a pena vc criar um ArrayList com os objetos que cada quadradinho do grid representa (na sua activity), e nesses objetos ter uma variável de instância que conte os cliques (private int quantidadeDeCliques;). Ao criar o adapter, passe para ele esse ArrayList. Depois, ao clicar no objeto, vc adiciona 1 à essa variável dele e no adapter chame o método notifyDataSetChanged. Você saberá qual objeto foi clicado pois a posição dele no ArrayList será a mesma que é passada no método onItemClick.

http://developer.android.com/reference/android/widget/BaseAdapter.html#notifyDataSetChanged%28%29



Em 24 de maio de 2013 09:20, thatiany <thaty.lucca@gmail.com> escreveu:
Bom dia, 

Alguém tem uma possível solução que possa me ajudar?.


Em quinta-feira, 23 de maio de 2013 16h58min44s UTC-4, thatiany escreveu:
Boa tarde. A situação é a seguinte.

Tenho uma tela com um Grid e neste grid tem algumas imagens de produtos com uma quantidade em baixo. O que eu quero é, que ao clicar em um item do grid eu possa dizer que a quantidade do meu item clicado seja 1, depois de outro clique seja 2, 3 e assim por diante de acordo com os cliques...
A intenção disso é saber como eu posso modificar o texto de um item do meu grid após o Evento onItemClick().

Eu tenho um GridAdapter que tem o seguinte código:

public class GridAdapter extends BaseAdapter {

    private LayoutInflater inflater;
    
    private Resources res;
    
    private static final String[] imageArray = {"p02","p05","p08","p13","p20","p45"};
        //"p02","p05","p08","p13","p20","p45" =====>>>> SÃO IMAGENS DO MEU DRAWBLE
    
    private static final String pkg = MainActivity.class.getPackage().getName();
    
    public GridAdapter(Context context) {
        this.inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        this.res = context.getResources();
    }
    
    @Override
    public int getCount() {
        return imageArray.length;
    }

    @Override
    public Object getItem(int position) {
        return Integer.valueOf(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder;
        if (convertView == null) {
            convertView = inflater.inflate(R.layout.grid_itemnull);
            
            holder = new ViewHolder();
            holder.image = (ImageView) convertView.findViewById(R.id.item_image);
            holder.text = (TextView) convertView.findViewById(R.id.item_text);

            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }
        int imageId = res.getIdentifier(imageArray[(position%imageArray.length)]"drawable", pkg);
        holder.image.setImageResource(imageId)//IMAGEM FIXA. NÃO MUDARÁ.
        holder.text.setText("0")// INDICA A QUANTIDADE ZERO, QUE SERÁ INCREMENTADA A CADA CLIQUE.

        return convertView;
    }

    static class ViewHolder {
        ImageView image;
        TextView text;
    }
    
}

Na minha classe MainActivity eu tenho o seguinte trecho que é aonde meu grid está sendo instanciado e tem o evento 
onClickItem().

Neste caso é para a primeira posição.
Obs: Notar que eu coloquei P02 que é o primeiro item do meu grid no Adapter.

grid = (GridView) findViewById(R.id.grid);
        grid.setAdapter(new GridAdapter(this));
        grid.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> grid, View view, int position,
                    long id) {
                
                
                
                if(position == 0){ //P02
                    
                    if (tvcnp.getText().toString().equals("")) {
                        Toast.makeText(MainActivity.this,"Informe o seu CNPJ",
                                Toast.LENGTH_LONG).show();
                    } else {
                        

showDialog(DIALOG_QTDE_ENTRY);
                        produto = "P02";
                        posicao = position;
                    }
                }



Alguém teria uma solução para esse meu problema???

No aguardo de possíveis soluções....

Thaty.

--
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/groups/opt_out.
 
 



--
Jade Moreira da Costa

--
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/groups/opt_out.
 
 

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

0 comentários:

Postar um comentário