Tecnologia do Blogger.
RSS

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

Pessoal como ainda não consegui resolver o meu problema, dei um print nas telas pra me fazer compreender melhor.






Nesse Grid View quero escolher um item da grid e colocar a sua quantidade. Quando confirmar gostaria que o texto da quantidade passasse de 0 (imagem1), para 2 ou qualquer outro valor,conforme o informado na cx de dialogo.
Isso que eu não estou conseguindo fazer. Acredito que seja apenas algum detalhe que eu esteja deixando passar.

Quem puder me ajudar, agradeço.



Em 24 de maio de 2013 09:23, Jade Costa <jademcosta@gmail.com> escreveu:
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.
 
 

--
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