M
mofl
Neues Mitglied
- 0
Guten Morgen,
ich habe ein Problem, unzwar habe ich eine GridView in der ImageButtons dargstellt werden.
Dazu habe ich einen ImageButtonAdapter geschrieben
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.
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.
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;
}
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);
Hab ich falsch gedacht? Fehler im Adapter? oder warum funktioniert das nicht?
vielen dank schonmal.