2016-04-12 3 views
0

私はカスタムアダプタを使用して設定したgridViewを持っています。カスタムアダプタは、各セルのようにわずかに複雑です。ユーザーの要件に基づいて、さまざまな種類のウィジェットを作成します。これは正常に動作しており、スクロールして特定のウィジェットに値を設定できます。グリッド上をスクロールすると、選択したデータを保存することができなくなります

保存するときには、GridViewの子をループして値をJSONに渡します。これはあまりにも効果的ですが、目に見える子供のためだけです。

私はスクロールしているので、セルにあるがグリッドビューに表示されないウィジェットの値をどのように取得できるのか誰かに教えてもらえますか?

ありがとうございました。

答えて

0

はい、この問題はListViewGridViewで発生します。これらのコンポーネントのアンドロイドはビューを破棄して再作成するためです。

あなたはこの問題を渡す必要がある場合は次の2つの選択肢があります。

まず:あなたのGridViewの各行または項目の値を保存することができアダプタにいくつかの変更を加えます。

第2RecyclerViewを使用してください。この問題は表示されないためです。

私は第2の選択肢を好みます。 RecyclerViewGridおよびListViewより良好である。

+0

こんにちはAhmed。グリッドビューをRecyclerビューに変更しましたが、同じ問題に直面しています。 RecyclerView.getChildCountは可視のnoを返します。子どもたちの。私はlayoutMangerを試しましたが、同じ問題がありました。 LayoutManager.getItemCount()は正しい子の数を取得しましたが、表示されていない場合はすべてのビューにアクセスできません。私はgetChildAt()を使用しています。私は何か見落としてますか? – Prem

+0

@Premあなたは 'RecyclerView'アイテムに対してアクションを実行する必要がありますか? –

+0

はい。 CheckboxesやRadioButtonsのようなウィジェットは、RecyclerViewに配置されています。 saveを押すと、これらの値をすべて取得してJSONに渡す必要があります。方法はありますか? – Prem

関連する問題