[解決済み] ViewPagerのアイテムを強制的に再インスタンス化する方法 [重複].
2022-07-07 05:50:34
質問
私は
ViewPager
を使用して、ユーザーがそのビューの間をスワイプできるようにしています。この
ViewPager
を再読み込み/再インスタンスする方法はありますか?私は
notifyDataSetChanged()
を呼び出そうとしましたが、これでは
instantiateItem()
メソッドは呼び出されません。
EDIT
ViewPagerを継承したクラスとそのアダプタの定義です。以下は
refresh()
メソッドで、アイテムを強制的に更新したいときに呼び出します。
public class DayFlipper extends ViewPager {
public class FlipperAdapter extends PagerAdapter {
@Override
public int getCount() {
return DayFlipper.DAY_HISTORY;
}
@Override
public void startUpdate(View container) {
}
@Override
public Object instantiateItem(View container, int position) {
Log.d(TAG, "instantiateItem(): " + position);
Date d = DateHelper.getBot();
for (int i = 0; i < position; i++) {
d = DateHelper.getTomorrow(d);
}
d = DateHelper.normalize(d);
CubbiesView cv = new CubbiesView(mContext);
cv.setLifeDate(d);
((ViewPager) container).addView(cv, 0);
// add map
cv.setCubbieMap(mMap);
cv.initEntries(d);
return cv;
}
@Override
public void destroyItem(View container, int position, Object object) {
((ViewPager) container).removeView((CubbiesView) object);
}
@Override
public void finishUpdate(View container) {
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((CubbiesView) object);
}
@Override
public Parcelable saveState() {
return null;
}
@Override
public void restoreState(Parcelable state, ClassLoader loader) {
}
}
...
public void refresh() {
getAdapter().notifyDataSetChanged();
}
}
どのように解決するのですか?
私は解決策を見つけました。それは私の問題に対する回避策に過ぎませんが、現在のところ唯一の解決策です。
ViewPager PagerAdapter がビューを更新しない
public int getItemPosition(Object object) {
return POSITION_NONE;
}
どなたか、これがバグかどうかご存知の方はいらっしゃいませんか?
関連
-
[解決済み] ViewPagerで指のスワイプによるページングを無効にし、プログラムによるスワイプはできるようにするにはどうすればよいですか?
-
[解決済み] android.os.NetworkOnMainThreadException' を修正するにはどうすればよいですか?
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] ViewPagerでFragmentが表示されるタイミングを決定する方法
-
[解決済み] ViewPager PagerAdapter がビューを更新しない
-
[解決済み】ViewPagerを動的に更新しますか?
-
[解決済み] SDカードからファイルを削除する方法を教えてください。
-
[解決済み] Receiver not registered exception error?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ViewPager PagerAdapter がビューを更新しない
-
[解決済み] Android Debug Bridgeでアプリケーションのインストール時にINSTALL_FAILED_VERSION_DOWNGRADEを無視する方法はありますか?
-
[解決済み] wrap_contentでRelativeLayoutがフルスクリーンになってしまう
-
[解決済み] AndroidのimageviewがmaxWidthを無視する?
-
[解決済み] メディアプレーヤーが状態0で呼び出され、エラー(-38,0)
-
[解決済み] 開発者コンソールでのベータ版/アルファ版テストについての説明が必要です。
-
[解決済み] ビルドフレーバーによってアプリ名が異なる?
-
[解決済み] Androidアプリケーションのインストール中に「Parse Error: Androidアプリケーションのインストール時に「パッケージの解析に問題があります。
-
[解決済み] Android: 複数の選択オプションを持つポップアップを作成する
-
[解決済み] Androidでユーザーの非アクティブを検出する方法