3 つのタブを持つアプリがあります。各タブのフラグメントは、SectionsViewPager で作成されます。Reloadable
1 つのメソッドでインターフェイスを作成しましたvoid reload(Context ctx);
。actionBar にリロード ボタンを追加しました。ボタンが押されると、フラグメントが実装されているかどうかを確認し、実装されReloadable
ている場合は を呼び出しますreload(this);
。
ここまでは順調ですね...
アプリには以前にプルして更新する機能が含まれていましたが、これはあまり「Androidy」とは感じられないため、上記の機能 (actionBar のリロード ボタンを押したときにフラグメントを更新する) に置き換えたいと考えています。ちなみに、プルツーリフレッシュ機能は正常に機能しました。Reloadable
インターフェイスからリロード機能を新しい機能に再マップしました。
今、リロード ボタンをテストしていて、アプリがクラッシュします。
リロード ボタンを使用すると、TextView の 1 つが ivar にバインドされていないように見えるため、アプリがクラッシュします。ただし、プルツーリフレッシュを使用するとバインドされます。関連するコードは次のとおりです。
mTextView.setVisibility(isEmpty ? View.VISIBLE : View.INVISIBLE);
mTextView はnull
、actionBar のリロード ボタンから呼び出された場合です。フラグメントの一部である pullToRefresh 機能を使用する場合、null ではありません。ここで何がうまくいかないのですか?