0

この質問はここでよく聞かれます。多くの人が解決策を見つけて、また働いています。私も同じ問題に直面しています。グリッドビューのonitemclick listnerが機能しません。

私の場合

私はビューページャーを持っています。

その中に私は破片を持っています。それらのフラグメントには、Gridview があります。onItemclick リスナーをグリッド ビューに設定しても機能しないため、インターネットで見つけたすべてのケースを試しました。

このビューページャー自体は別のフラグメントに追加されます。理解を深めるために画像を参照してください。コードはほぼ単純なので、参考のためにここに追加しません。私が間違っている可能性がある場所。そうでない場合、これをハッキングする方法

ここに画像の説明を入力

作業ケース: アダプターのボタンに onclicklistner を追加しているときに、押されたイベントが発生します。しかし、notifydatasetchanged を呼び出したときに、ボタンのテキストを更新できませんでした。

4

1 に答える 1

2

gridView アダプター内にボタンがあるようです。アダプタ itemView 内にボタン、チェックボックスなどがあると、実際の行が onItemClick イベントに応答しなくなります。これを修正するにはいくつかの解決策がありますが、アダプターのメソッド内のonClickListener行 ( )に a を追加し、そこで必要なものを処理することをお勧めします。クリックされたビューの位置をコンストラクターによって渡すことができます (を使用するクラスに実装するか、位置を final に設定し、メソッド呼び出しに匿名クラスを使用する場合)。contentViewgetView()onClickListenersetOnClickListenergetViewsetOnClickListener

このクリックに基づいて何かを行う必要がある場合は、フラグメントに戻って、インターフェイスを使用してコールバックを作成する方法について少し読んでください。

于 2013-08-07T06:11:06.067 に答える