問題タブ [listview-adapter]

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 に答える
1112 参照

android - Android ListView - difference between adapter.notifyDataSetChanged and using new adapter

My question is based on this post.

Android. How does notifyDataSetChanged() method and ListViews work?

I've read in various articles that to refresh the listView you must call notifyDataSetChanged() and not listView.setAdapter(new Adapter(....)); because the second method is too costly and affects performance

The answer to the above question says that adapter.notifyDataSetChanged() affects the views that are currently visible on the screen. So getView() is called as many times as the number of items currently displayed.

But getView() is called the same number of times when assigning a new adapter to the listView as well.

So what is the difference between calling adapter.notifyDataSetChanged() and listView.setAdapter(new Adapter(....));?

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

android - android ListViewアダプタメソッドgetViewTypeCount()は、adapter.notifyDataSetChanged()のときに起動しません

リストビューで 10 項目ごとに読み込みたいのですが、リストビューで項目を再利用したくありません。

1.10個のアイテムをロードし、アダプターをリストビューに設定し、アダプタークラスでメソッド getViewTypeCount() を次のように呼び出します。(現在の itemList は 10 です)

2. getViewTypeCount() でデバッグすると、値 10 が返されます。

3.次に、新しい10個のアイテムをitemListに追加し(itemListの現在のアイテムは20個)、adapter.notifyDataSetChanged()を呼び出します

4.リストビューを下にスクロールすると機能しますが、上にスクロールするとエラーになります(残念ながら)

5. getViewTypeCount() が adapter.notifyDataSetChanged() の後に起動しないため、20 が返されないため、問題が見つかりました (getViewTypeCount() で 500 を返すことをテストしているため、エラーではなく動作していることがわかります)。

6. リスト ビューを 10 アイテムごとにロードしたいのですが、リストビューの再利用位置は望ましくありません。それを解決する方法は?.

編集

これは私のアダプタークラスです

}

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

java - 項目を追加した後、ListView が更新されない

ListView に項目を追加し、ListView を更新してこれらの項目を表示するつもりです。ただし、アイテムが追加されていると思いますが(回転するとListViewが更新され、新しいアイテムが表示されるため)、現在更新は行われていません。

最初に ListView に項目を追加します。getData を使用します。その後、「さらに追加」項目をクリックするたびに、getDataMore からデータが取得されます。addAll() や notifyDataSetChanged() などの関数を試しましたが、構造に問題があると思います。

FragmentA - クリック リスナーを持つ ListView を含むフラグメント:

getData - ListView が最初に作成されたときのデータを取得します。

getDataMore - 既に作成されている ArrayLists に getData を追加します。

それが役立つ場合 - CustomList アダプター:

0 投票する
0 に答える
92 参照

android - リストビュー項目ボタンのクリックに機能を適用できず、データベースにデータを挿入できません

これは onItemClick 関数で、データベース内のアイテム クリックで値を挿入できます。このコード行を使用して、データベースの値を更新できます。 dbManager1.updateNotification(NotifcationSenderid, "4");

しかし、はいまたはいいえのボタンが必要です。そのボタンのクリックで更新された値が必要ですが、更新されていないことはできません。

このデータベース機能はアイテムをクリックして正常に動作しますが、Ad-pater yes または not Button を使用して更新しようとすると、デバッグ時に更新できず、result =mContext値が終了すると、どこが間違っているかを提案してください。

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

android - Simple Android Fragment の Frame が表示されない

私はフラグメントについて学んでいて、開発者のウェブサイトで与えられたこのサンプル コードを使用しました。これを追加しましたhttp://nhaarman.github.io/ListViewAnimations/#getting-started リストでスワイプ操作と削除操作を有効にするため。

私には 2 つの問題があります。2. スワイプ後にオブジェクトを削除できません。スワイプが完了するとすぐにオブジェクトが表示されます

土地\fragment_layout

FragmentLayout

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

android - ListviewAdapter から Android で GoogleMap を更新する

現在、Google マップ アプリを作成しており、ユーザーがリストビューの項目をクリックした後にアプリを更新しようとしています。ただし、listviewadapter がコードの別の部分にあるため、これは計画どおりには進んでいません。コードの特定の部分を変更するなど、複数の方法を試しましたが、staticこれはGoogleマップのコードを壊すだけです。

マップがある私の主な活動からのコードは次のとおりです。

}

ListViewAdapter アクティビティのコードは次のとおりです。

助言がありますか?ユーザーがリスト項目をクリックしたときに静的ブール値がfalseからtrueに変わることを確認する更新機能を追加したいと思いますが、これよりも簡単な方法があるはずです

編集:setOnItemClickListenerメイン アクティビティに を追加し、Log.d 文字列を入力して、それが機能するかどうかを確認しました。リストにある 4 つの町の名前のいずれかにヒットした後、何も受信しません。

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

android - リストビューのチェックボックスの状態に応じてテキストビューのテキストを更新する方法

これが私のカスタムListViewAdapterです

リストビューでチェックボックスがクリックされた瞬間にテキストビューを更新したいのですが、今までは期待通りに機能しませんでしたが、下にスクロールしてチェックされたアイテムを見てみると、textViewが更新されます

助けてください よろしくお願いします

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

android - EfficientAdapter ListView Android の特定の行を更新する

以下の Util.class には、最大 2 つの int 数値の静的 ArrayList が含まれています。

私の getView() アダプター メソッドでは、テキストビューを変更して、位置 3 と 5 のみで画像を表示できるようにしました。問題は、最後の要素のみが表示されるイメージビューです。3 番目のイメージビューを表示できません。アダプター内で両方のイメージビューを表示するにはどうすればよいですか。これが私の getview メソッドです。