2012-04-19 75 views
1

我有一個畫廊custom adapter。我正在顯示圖像以及一些文字和按鈕。如何從外部更改適配器的元素?

我想更改與圖像相關聯的文本,當點擊相應的按鈕時

如果我把按鈕處理程序放在適配器中,它不會接收到這個調用。

我發現我應該將處理程序移到活動中。

但問題是我沒有訪問適配器了。任何解決方案

public class MyAdapter extends BaseAdapter { ... 


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

'如果我把轉接器內的按鈕處理程序,它並沒有趕上該電話.',你是否使用'button.setOnclickListener'來訪問這個adpater? 'onclicklistner'應該可以工作。 – idiottiger 2012-04-19 02:51:23

+0

@idiottiger:我把

+0

所以在你的Activity中你有一個'public void handler()'方法? – techiServices 2012-04-19 03:01:08

回答

1

您應該在適配器的getView函數中設置OnClickListener。當你膨脹視圖時,你可以在視圖上調用findViewById來獲得對Button的引用。然後,您可以在Button對象本身上設置OnClickListener。

1

移動

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

到您的Activity

噢,讓成員參考AdapterMyAdapter myAdapter = new MyAdapter(....