2012-04-19 8 views
1

ギャラリーにはcustom adapterがあります。私はいくつかのテキストとボタンと共に画像を表示しています。外部からアダプタの要素を変更するにはどうすればいいですか?

に対応するボタンをクリックすると、画像に関連付けられているテキストを変更したいと考えています。

ボタンハンドラをアダプタの内部に置くと、呼び出しを受け付けません。

ハンドラをアクティビティに移動する必要があることがわかりました。

しかし、問題は私がもうアダプタにアクセスできないということです。どんな解決策ですか?

public class MyAdapter extends BaseAdapter { ... 


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

'、それがキャッチしていないにメンバーのリファレンスを作りますあなたは 'button.setOnclickListener'を使用していますか? 'onclicklistner'が動作するはずです。 – idiottiger

+0

@idiottiger:アダプターのデザインに使用したxmlレイアウトに

+0

あなたの 'Activity'に' public void handler() 'メソッドがありますか? – techiServices

答えて

1

アダプタのgetView関数でOnClickListenerを設定する必要があります。ビューを展開すると、ビューのfindViewByIdを呼び出して、ボタンへの参照を取得できます。 Buttonオブジェクト自体にOnClickListenerを設定することができます。

1

移動に

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

あなたActivity

そうそう、私は、アダプタ内部のボタンハンドラを置く場合Adapter例えばMyAdapter myAdapter = new MyAdapter(....

関連する問題