Ver mensagens sem resposta | Ver tópicos ativos Hoje é 28 Mai 2020, 07:24



Responder Tópico  [ 6 Mensagens ] 
 Como eu posso modificar um texto de um GridView? 
Autor Mensagem
What is Android?
What is Android?

Data de registro: 30 Set 2011, 11:48
Mensagens: 5
Mensagem Como eu posso modificar um texto de um GridView?
Bom dia. 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_item, null);
           
            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;
                    }
                }


23 Mai 2013, 11:37
Perfil
What is Android?
What is Android?

Data de registro: 30 Set 2011, 11:48
Mensagens: 5
Mensagem Re: Como eu posso modificar um texto de um GridView?
Pessoal alguém tem alguma ideia??? :roll:


24 Mai 2013, 11:14
Perfil
Google employee
Google employee

Data de registro: 28 Jun 2012, 19:13
Mensagens: 1308
Localização: Itaperuna-RJ
Mensagem Re: Como eu posso modificar um texto de um GridView?
O texto você colocou em TextView separados no seu layout?

_________________
Powell


24 Mai 2013, 12:09
Perfil
What is Android?
What is Android?

Data de registro: 30 Set 2011, 11:48
Mensagens: 5
Mensagem Re: Como eu posso modificar um texto de um GridView?
Então, cada item do meu grid é uma imagem e um texto que é inflado no adapter.
Sim, o texto é separado no layout.


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:orientation="vertical">


        <ImageView
        android:id="@+id/item_image"
        android:layout_marginTop="5dp"
        android:src="@drawable/ic_launcher"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_gravity="center"/>


    <TextView
    android:layout_marginTop="5dp"
    android:layout_marginBottom="5dp"
    android:id="@+id/item_text"
    android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@android:color/black"
        android:layout_gravity="center"
        android:text="item"/>


</LinearLayout>
 


Este Layout é inflado no Adapter como eu mostrei no código acima.


24 Mai 2013, 12:17
Perfil
What is Android?
What is Android?

Data de registro: 30 Set 2011, 11:48
Mensagens: 5
Mensagem 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 que possam me compreender melhor.



Imagem

Imagem


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.


29 Mai 2013, 18:27
Perfil
Google employee
Google employee

Data de registro: 28 Jan 2011, 11:42
Mensagens: 1037
Localização: Rio Grande do Sul
Mensagem Re: Como eu posso modificar um texto de um GridView?
Cara, as imagens não apareceram. Mas eu sugiro que mudes teu adapter.

Primeiramente, crie um model que represente teus dados. Produto, por exemplo. Produto teria id, nome e imagem, por exemplo.

No teu adapter, poderias passar os dados do grid no construtor, ou seja, teu adapter iria receber um ArrayList<Produto>. Como esse array seria populado na tua activity, quando quiseres mudar algum dado do grid, mude apenas nesse array [array.get(pos).setName("test");] e chame o método do adapter que faz com que o grid seja atualizado: adapter.notifyDataSetChanged();

Espero que isso te ajude.

Abraço


04 Jun 2013, 12:16
Perfil
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 6 Mensagens ] 

Quem está online

Usuários vendo este fórum: adenilsonsena, Adriano, afpcp, akaytatsu, albinoneto, alex, Alexandre de Queiroz, alexmarcolongo, alylson, Andreid, andrelom, ariostorecco, Bass, bbourbon, beeshop, Biggs Darklighter, bozzano, Bravox, caliow, carlosavasconcelos, Carmizini, Cassius, cehills, celiapinheiro, cenatech, claudio, comolatti, cosmotheoro, Costa, Cristranus, culumin, d.paim, dalmeidabr, dchechetto, dfreitas, Diego Rufino, digiwise, dobau, Dookan, edervieira, edson dias de gusmao, Eduardo, eduardo.ali, EduardoYC, Everton Moreira, fabiano_eletro, fabrizior, felipedornelas, fraga, frances135, furlanrapha, Gabriel, gfgodoy, guiba_picolino, GuilhermeZampieri, gusrp, gustavobarbosa, HAMSES, henrikesilva1, Henrique Ferraz, henrique.garcia, hopper.frf, inesfg, jacksaum, Jango Fett, jcorreajr, julianafsa, jzaires, Katia, kleberperea, klyff, konos, lfalcao, lucastgomes, luizfilipe, malucouto, maurosilva, miguel, Moisés Souto, neimarguerra, NeruLL, nrsf, nullPointer, Obi-Wan Kenobi, Paulo Bizzo, paulovaz, Petto, pxcx, rafsantos, rbenatti, rfrafa, ricardo, ricardo_listadelphi, ricardoogliari, Robson Florentino, rodrigo_mg, rogerio, Roll, romualdo, romulotales, ronamore, ronanPlus, Samantha, Samuka, SERGIO RODRIGUES, Shinigami, skcratch, Snappy [Bot], suissa, Tangerina, tassiovirginio, tChAnDy, thiaguim, thosjanas, tnarnold, tonholis, VIEIRIX, wcaciano, Wesleyceraso, yeltsinlima, zenden1503 e 6 visitantes


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:
cron

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi