問題タブ [android-viewholder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
7865 参照

android - CardView の Google マップ ライト

私は、マテリアル デザインをいじる非常に基本的なアプリを取得しようとしています。私はリストビューを作成しようとしています (新しい RecyclerView を使用)。すべてのアイテムはカードの魔女であり、Google マップ ライトが含まれています。

私は基本的にこの例に従っています:リストとカードの作成 、Google マップの実装では、この例を使用しています

アダプターに項目が 1 つしかない場合 (つまり、表示する項目が 1 つしかない場合) はすべて「動作」しますが、アダプターに 2 つ目の項目を追加すると (リストに項目が 2 つあるはずです)、アプリがクラッシュします。例外:

誰が私が間違っているのか教えてもらえますか?

エラーに加えて、個々のマップ(中心など)にプロパティを設定する最良の方法が何であるかを理解できないようです。その分野での助けも本当にありがたいです。

参照用の実装:

アクティビティ

マイアダプター

ビューホルダー

0 投票する
1 に答える
835 参照

android - ViewHolder の使用中に展開可能なリスト ビューのアイテムを非表示にする

展開可能なリスト ビューの要素を非表示にする必要があるアプリケーションを作成しています。

これが私がそれを達成するためにしていることです。

ここでの作業を最適化するために、 ViewHolder の概念を使用しましたが、これを使用すると、リストのスクロールを開始すると、一部の変数がビューを非表示に置き換えても、要素がシャッフルされます。

ViewHolder の使用中にこの問題を解決する方法はありますか?

0 投票する
1 に答える
276 参照

java - リストビュー内の項目レイアウトのコンテンツを動的に変更するにはどうすればよいですか?

このアイテム内の特定のボタン(レイアウト)が押されると、リストビュー内の単一のアイテムのコンテンツを変更しようとしています。私はアダプタでそれをしようとしている方法を以下に書きました。

また、onButtonClicked() メソッドの最後に「notifyDataSetChanged()」を配置しようとしましたが、役に立ちませんでした。デバッグを通じて、ボタンをクリックすると onButtonlicked() メソッドが呼び出されていることがわかります。

編集:ViewHolderを使用して機能させ、ボタンのタグとして設定し、onButtonClicked();にパラメーターとして渡しました。

0 投票する
2 に答える
3551 参照

android - ViewHolder パターンの問題。ArrayAdapter 内のすべてのボタンに同じ OnClickListener を設定

どこが間違っているのかわかりません。カスタム ListView アダプター内にボタンを作成し、ViewHolder パターンを実装して、ボタンの OnClickListener を設定しました。

問題は、任意の行のボタンをクリックするたびに、クリックに対して同じ結果が得られることです。同じタイトル、同じユーザー名。

他に何を設定する必要がありますか? ありがとう、そしてメリークリスマス!

カスタム ListView アダプター:

0 投票する
3 に答える
896 参照

android - Universal Image Loader を使用する GridView でアイテムが表示されず、アダプタの getView メソッドが位置 0 でのみ呼び出される

Universal Image Loader を使用して、お気に入りの画像のグリッドビューを作成しようとしています。現在、画像は表示されず、読み込まれません。同様に、私のデバッグでは、getView が position == 0 でのみ呼び出されることもわかりました。助けてください!

以下にリストします:

  1. ダミー配列リストとカスタム アダプターを作成するフラグメント コード スニペット

  2. フラグメントの xml レイアウト ファイル

  3. Universal Image Loader と、内部に imageView を含む相対レイアウトを保持するビューホルダーを使用するカスタム アダプター。

  4. gridview/viewholder のアイテムの xml レイアウト ファイル。

    1. FavoritesFragment.java:

    public class FavoritesFragment extends Fragment {

    /li>

...

  1. fragment_favorites.xml:

  2. お気に入りImageAdapter.java:

    public class FavoritesImageAdapter は BaseAdapter を拡張します{

    }

  3. item_grid_favorites_image.xml:

なぜこれが起こっているのかわかりません。6 つの偽の URL すべてがアダプターに渡されていることはわかっています。また、getView メソッドが 6 回呼び出されていることもわかっています。また、Universal Image Loader が onLoadingComplete() コールバック メソッドに到達することはありませんが、onLoadingStarted() を 6 回呼び出します。これらの 6 回すべてで、arraylist の位置 0 が使用されます。助けてください、私はこのサイドプロジェクトを通じてアンドロイドが上手くなりたいと思っています. また、冒頭のコードフォーマットエラーについてお詫び申し上げます。修正しようとしましたが、うまくいきませんでした。

0 投票する
1 に答える
219 参照

android - Android - ListViews の ViewHolder の管理

ViewHolderデータBaseAdapterソースListViewArrayList<HashMap<String,String>>. _ 私の使用例には、 内の要素の並べ替え、追加、および削除が含まれますListViewViewHolderリサイクルを考慮して、リスト ビュー要素を に保存します。毎回notifyDataSetChanged()変更するために電話する必要があります。ListView

これは、notifyDataSetChanged() を呼び出して を変更しているときに、リストからアイテムを削除したときに発生する例外ですListView

このエラーの原因は、 のデータ ソースのサイズに関連していると特定しましたListView。データ ソースに最初に 10 個の要素があり、項目が削除された後に 9 個の要素がある場合、ListView は欠落している要素が存在することを期待しているという私の理解は正しいですか? はIndexOutOfBoundsException次の行でスローされます。

ここでの問題は、変更したデータ ソースに 10 番目の要素が存在せず、設定するデータがないことです。この問題を解決するための良いアプローチは何ですか?