問題タブ [notifydatasetchanged]

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 投票する
1 に答える
147 参照

android - CastException: ViewPager からフラグメントを更新した後

以下を使用してフラグメント番号2を更新しています:

今、私が と 追加 と 異なる を追加するとFragmentgetItem(int position)すべてが正常に機能しているようです。ただし、実行するmPager.getAdapter().notifyDataSetChanged();とスローされます:

何が起こっている?どうもありがとうございました。

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

android - ライブ アップデート リストビュー

私はSOを深く掘り下げましたが、他の人が私のものと同様の質問をしているのを見つけましたが、私が抱えているのと同じ問題に対処する質問はまだ見つかりません. 私も満足のいく答えを見つけていません。

私はリストビューを持っています。アダプタから .notifyDataSetChanged を呼び出すと、ListView が更新されますが、onResume() が呼び出されると更新が表示されます。つまり、活動を離れてカムバックした後、すぐにそれを見ることはありません。

更新をすぐに確認するにはどうすればよいですか? .notifyDataSetChanged メソッドを試しましたが、アダプターをリセットしようとしましたが、何も機能しませんでした。

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

android - Android Viewpagerフラグメントを動的に削除する方法は?

ユーザーがViewpagerからページ/フラグメントを削除できるアプリケーションの機能を構築するのに数日間苦労しています.FragmentPageAdapterをFragmentStatePageAdapterに変更してオーバーライドしようとしましたが、 getItemPosition()これ return POSITION_NONE;でも呼び出し時に動的にフラグメント化するfragments.remove(page);

誰もこれを成功させたことがありますか?それは本当に単純であるように思えますが、そうではありませんでした。以下は私のフラグメントアダプターです。

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

android - Android: リストに新しい項目を追加した後の ListView での NullPointerException onItemClick

これは、自分で修正できないコードです。

カスタム ArrayAdapter を作成して、ListView にプレイヤーの名前を含む TextView を設定しました。

アダプターがインスタンス化される前にプレーヤー名のリスト全体が指定されている場合、意図したとおりに機能します。この問題は、アダプタのインスタンス化後に追加されたリスト項目をクリックすると発生します。


NullPointerException が発生する理由がわかりません:

この行で:

リストで「フライドポテト」という名前の3番目のプレーヤーをクリックすると。


説明付きのコード:

PlayersArrayAdapter クラス:


デバッグからのエラー メッセージ:

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

android - notifyDataSetChanged()を使用せずにリストビューの一部のデータを更新する方法は?

ListViewダウンロードタスクのリストを作成しようとしています。

ダウンロード タスクはService(DownloadService) で管理されます。データのチャンクが受信されるたびに、タスクは(SavedShowListFragment)を含むBroadcastによって受信されたを介して進行状況を送信します。メッセージを受信すると、SavedShowListFragment はアダプタ内のダウンロード タスクの進行状況を更新し、トリガーします。FragmentListViewBroadcastnotifyDataSetChanged()

リストの各行には、ProgressBarダウンロードTextView中のファイルのタイトル用の と進行状況の数値用の 、Buttonダウンロードの一時停止/再開、またはダウンロードが終了したときに保存されたショーの再生用の が含まれます。

問題は、一時停止/再開/再生Buttonが頻繁に応答しない (呼び出されない) ことです。これは、(データのチャンク、つまり 1024 バイトが受信されるたびonClick()に) リスト全体が非常に頻繁に更新されるためだと思います。notifyDataSetChanged()特に複数のダウンロード タスクが実行されている場合)。

ダウンロード タスクでデータ チャンクのサイズを大きくできると思いますが、私の方法はまったく最適ではないと思います。

非常に頻繁に呼び出すとnotifyDataSetChanged()ListViewUI が応答しなくなる可能性がありますか?

リスト全体を更新するを呼び出さずViewsに、ListView行の一部のみを更新する方法はありProgressBarますか?TextViewnotifyDataSetChanged()

のダウンロード タスクの進行状況を更新するには、ListView「getChunk/sendBroadcast/updateData/notifyDataSetChanged」以外に適切なオプションはありますか?

以下は、私のコードの関連部分です。

ダウンロードサービスのダウンロードタスク

保存されたShowListFragment

保存されたShowAdapter

0 投票する
4 に答える
3766 参照

android - PinterestLikeAdapterView の notifyDataSetChanged() を呼び出すときにセルの更新を回避するにはどうすればよいですか?

バックグラウンド

PinterestLikeAdapterView ライブラリを使用して、インターネットからいくつかの画像を表示しています。これは gridView に似ていますが、セルごとに高さが異なります。

問題

このライブラリを使用してインターネットから画像を表示するため、notifyDatasetChanged を呼び出すときにビューが混乱しないようにすることが重要です。

何らかの理由で、この関数を呼び出すと、ビューの位置が異なる getView() メソッドが呼び出されます。たとえば、まったくスクロールせず、notifyDatasetChanged (または ArrayAdapter の場合は addAll) を呼び出しても、位置 0 の場合は位置 8 のビューを取得し、位置 1 の場合は位置のビューを取得します7 など...

これにより、グリッド全体が画像を更新するようになり、UX が台無しになります。

通常、gridView と listView の両方で、更新を克服する方法は、viewHolder 内のビューに使用された位置を配置することであり、それらが等しい場合は、それらがまだ一致していることを意味します。

例えば:

ただし、ここでは別のビューを別の順序で再利用するため、このトリックはここでは機能しません。

この問題により、表示されているほとんどすべてのビューが更新されるだけでなく、 DiskCacheLruライブラリを使用しているため、2 つのスレッドを使用して 2 つの同一の inputSteam データを同じキーに入れようとするため、クラッシュします。

質問

私に何ができる?これはライブラリの既知のバグですか?

多分私はリフレッシュを克服するために悪い方法を使用していますか?

今のところ、メモリキャッシュを使用して、少なくとも以前にキャッシュされたアイテムを取得しますが、それは「ワクチン」というよりは「治療」に似ています...

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

android - Android CardUI ライブラリ: Fragment の onResume イベントでカードのコンテンツを更新する

私は自分のプロジェクトの 1 つでCardUILibを使用しています。これは素晴らしいことだと告白しなければなりませんが、問題が発生しています。Fragment の onResume イベントでスタックされたすべてのカード コンテンツを更新したいと考えています。onResume が呼び出されたときに、これらのコンテンツを更新する方法が見つかりません。

notifyDataSetChanged のようなメソッドがあるかどうかを考えていましたが、CardsUiLib のそのようなメソッドを見つけることができませんでした。助けてください。

Githib リンク: https://github.com/Androguide/cardsui-for-android ライブラリの別の参照: http://www.androidviews.net/2012/12/cardsui/