0

私は自分のStickyGridHeadersBaseAdapter、私の現在のソースコードをここに実装しようとしています - http://paste.org.ru/?11jrjh、そして私はそれを次のように使用します

ModeAdapter adapter = new ModeAdapter(this);
modeGridView.setAdapter(adapter);

私が抱えている問題は、

1) このアダプターに対して notifyDataSetChanged() を呼び出す方法がわからないため、項目を変更できません

2) AdapterView.OnItemClickListener ( http://paste.org.ru/?mvgt7b ) の実装がおかしい

Mode mode = (Mode) adapter.getItem(position);

1 番目と 2 番目の位置にあるアイテムの場合は null を返します。3 番目の位置にあるアイテムは、アダプターの実際の 1 番目のアイテムです。

ここで私のせいはどこですか?

もう 1 つの質問は、ModeAdapter クラスにキャストできadapterView.getAdapter()ない理由ですOnItemClickListener。ここに電話したらどうですか?ここのカスタム実装の例は見つかりませんでした。

notifyDataSetChanged()StickyGridHeadersBaseAdapter

前もって感謝します。

4

2 に答える 2

1

アイテムを取得する簡単な方法は次のとおりです。

StickyGridHeadersBaseAdapterWrapper wrapper = (StickyGridHeadersBaseAdapterWrapper) parent.getAdapter();
Mode item = (Mode ) wrapper.getWrappedAdapter().getItem(position);
于 2014-03-26T18:58:17.100 に答える