[ borcha @ 11.05.2012. 08:59 ] @
Pokusavam uporno filtrirati Tabelu tj GridView uz pomoc SimpleAdaptera

Kada to radim sa ListView nema problema.

Oba koda se nalaze u:
Code:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.porucivanja);
                .........itd



Ovo je text osmatrac za SimpleAdapter.

Code:

     //TEXT WATCHER
        etFilter=(EditText)findViewById(R.id.etFilterGrupa_poru);
        
        etFilter.addTextChangedListener(new TextWatcher() {
            
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                // TODO Auto-generated method stub
                try{
                    adapterArt_g.getFilter().filter(s);
                }
                catch (Exception e) {
                    // TODO: handle exception
                }
                    
            }
            
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
                // TODO Auto-generated method stub
                
            }
            
            @Override
            public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub
                Toast.makeText(porucivanja.this, s.toString(), Toast.LENGTH_LONG).show();
            }
        });



Bitan deo koda je (mozda i problematican):
" adapterArt_g.getFilter().filter(s); "
Code:

@Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                // TODO Auto-generated method stub
                try{
                    adapterArt_g.getFilter().filter(s);
                }
                catch (Exception e) {
                    // TODO: handle exception
                }
                    
            }



i Grid u kojem se nalaze stavke tj item za filtriranje
Code:
    gridview = (GridView) findViewById(R.id.gvArtikli);
        gridview.setTextFilterEnabled(true);
    
        
        gridview.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
                //Toast.makeText(porucivanja.this, "" + position, Toast.LENGTH_SHORT).show();
          
                AlertDialog aldiPoruka=new AlertDialog.Builder(porucivanja.this).create();
                aldiPoruka.setMessage( "\n" + "pozicija " + position );
                aldiPoruka.setButton(DialogInterface.BUTTON_POSITIVE,"U redu, unesi kolicinu. ", new DialogInterface.OnClickListener() {
                    
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub
                            
                    }
                });
                
                aldiPoruka.setButton(DialogInterface.BUTTON_NEGATIVE,"Odustajem. ",new DialogInterface.OnClickListener() {
                    
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub
                        
                    }
                });
                
                
                aldiPoruka.show();
            }
        });
     
       
      adapterArt_g= new SimpleAdapter(porucivanja.this,lista,R.layout.stavkeartiklaporuc ,new String[]    
{"ID","grupa","slika","sifraart","cenaBezPdv","cenaSaPdv","status","staronovo"},new int[]{R.id.tvIDstavkeporuci,R.id.tvGrupa_por,R.id.imgSlikaArtikla_Poruc,R.id.tvSifraArtikla_por,
R.id.tvCenaBezPdv_por,
R.id.tvCenaSaPdv_por,
R.id.imgImaNema_poru,R.id.imgStaNov_por});     
            gridview.setAdapter(adapterArt_g);
            PuniListu();
    
           
       
        
        registerForContextMenu(gridview);
        

Napomena: adapterArt_ge je deklarisan u telu klase kao varijabla klase!!
PuniListu() je metod koji puni sadrzaj GridView iz baze (nebitno).


ZASTO IZBACUJE ERROR NA GridView a na ListView NE IZBACUJE ? :(

[Ovu poruku je menjao borcha dana 11.05.2012. u 10:29 GMT+1]

[Ovu poruku je menjao borcha dana 11.05.2012. u 10:30 GMT+1]
[ borcha @ 11.05.2012. 10:24 ] @
Proradilo...
Izbacio sam ImageView controle iz Item GridView koje su na neki nacin ometale TextWatcher. Razlog je, nemam pojma...:)