0

3 つのタブを持つアプリがあります。各タブのフラグメントは、SectionsViewPager で作成されます。Reloadable1 つのメソッドでインターフェイスを作成しました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 ではありません。ここで何がうまくいかないのですか?

4

0 に答える 0