1

我有一个画廊custom adapter。我正在显示图像以及一些文本和按钮。

我想在单击相应按钮时更改与图像关联的文本。

如果我将按钮处理程序放在适配器内,它不会捕捉到调用。

我发现我应该将处理程序移到活动中。

但问题是我无法再访问适配器了。有什么解决办法吗?

public class MyAdapter extends BaseAdapter { ...


MyGallery myGallery = (MyGallery) findViewById(R.id.mygallery);
myGallery.setAdapter(new MyAdapter(this, ...));
4

2 回答 2

1

您应该在适配器的 getView 函数中设置 OnClickListener。当您膨胀视图时,您可以在视图上调用 findViewById 以获取对 Button 的引用。然后,您可以在 Button 对象本身上设置 OnClickListener。

于 2012-04-19T03:37:53.507 回答
1

移动

MyGallery myGallery = (MyGallery) findViewById(R.id.mygallery);
myGallery.setAdapter(new MyAdapter(this, ...));

进入你的Activity

哦,是的,并让成员引用Adapter例如MyAdapter myAdapter = new MyAdapter(....

于 2012-04-19T03:39:38.407 回答