1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

GridView + OnItemClickListener

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von mofl, 23.05.2011.

  1. mofl, 23.05.2011 #1
    mofl

    mofl Threadstarter Neuer Benutzer

    Beiträge:
    12
    Erhaltene Danke:
    0
    Registriert seit:
    21.05.2011
    Guten Morgen,

    ich habe ein Problem, unzwar habe ich eine GridView in der ImageButtons dargstellt werden.

    Dazu habe ich einen ImageButtonAdapter geschrieben

    Code:
     public ImageButtonAdapter(Context c, ArrayList<App> appList) {  
            this.mContext = c;
            this.appList = appList;        
    }  
    
    public int getCount() {  
         return this.appList.size();
    }  
        
    public Object getItem(int position) {  
            return this.appList.get(position);  
    }  
    
    public long getItemId(int position) {  
            return this.appList.get(position).getId();  
    }  
       
     public View getView(int position,  
                                  View convertView, ViewGroup parent) {  
         ImageButton btn;  
        
         if (convertView == null) {  
              // if it's not recycled, initialize some attributes  
              btn = new ImageButton(mContext);  
              btn.setLayoutParams(new GridView.LayoutParams(100, 100));  
              btn.setPadding(10, 10, 10, 10);  
         }  
         else {  
              btn = (ImageButton) convertView;  
         }  
      
         btn.setImageDrawable(this.appList.get(position).getIcon()); 
         btn.setId(this.appList.get(position).getId()); 
         return btn;  
     }  
    
    Dieser erwartet eine Liste von "Apps".

    So weit so gut es wird alles korrekt angezeigt. Aber jetzt das Problem,
    ich benötige für jedes Item einen OnClick also dachte ich mir nehm ich die OnItemClickListener.
    Code:
    this.g = (GridView) findViewById(R.id.mainApps);
                ImageButtonAdapter adapter = new ImageButtonAdapter(this,
                App.getApps());
    
    this.g.setOnItemClickListener(new OnItemClickListener(){
       @Override
       public void onItemClick(AdapterView<?> arg0,View arg1, int arg2, long 
                                                arg3) {  doIT(arg1)}  });                                                        
         registerForContextMenu(this.g);
         this.g.setAdapter(adapter);
     
    Nur leider tut sich nichts bei einem Klick auf ein Item und auch das ContextMenu funktioniert nicht. Die Funktion doIT funktioniert, die ruft nur eine andere Acitvity auf.

    Hab ich falsch gedacht? Fehler im Adapter? oder warum funktioniert das nicht?
    vielen dank schonmal.
     

Diese Seite empfehlen