-1

私はMainFragment拡張する Android TV アプリで作業していますが、で定義されたBrowseFragmentメソッドでクラッシュすることがあります。onFocusSearch(View focused, int direction)mOnFocusSearchListenerBrowseFragment

private final BrowseFrameLayout.OnFocusSearchListener mOnFocusSearchListener =
        new BrowseFrameLayout.OnFocusSearchListener() {
    @Override
    public View onFocusSearch(View focused, int direction) {
        // if headers is running transition,  focus stays
        if (mCanShowHeaders && isInHeadersTransition()) {
            return focused;
        }
        if (DEBUG) Log.v(TAG, "onFocusSearch focused " + focused + " + direction " + direction);

        if (getTitleView() != null && focused != getTitleView() &&
                direction == View.FOCUS_UP) {
            return getTitleView();
        }
        if (getTitleView() != null && getTitleView().hasFocus() &&
                direction == View.FOCUS_DOWN) {
            return mCanShowHeaders && mShowingHeaders ?
                    mHeadersFragment.getVerticalGridView() :
                   mMainFragment.getView();
        }

        boolean isRtl = ViewCompat.getLayoutDirection(focused) == View.LAYOUT_DIRECTION_RTL;
        int towardStart = isRtl ? View.FOCUS_RIGHT : View.FOCUS_LEFT;
        int towardEnd = isRtl ? View.FOCUS_LEFT : View.FOCUS_RIGHT;
        if (mCanShowHeaders && direction == towardStart) {
            if (isVerticalScrolling() || mShowingHeaders) {
                return focused;
            }
            return mHeadersFragment.getVerticalGridView();
        } else if (direction == towardEnd) {
            if (isVerticalScrolling()) {
                return focused;
            }
            return mMainFragment.getView(); //*****CRASH******
        } else {
            return null;
        }
    }
};

注: クラッシュが発生する行は でマークされてい//*****CRASH******ます。このクラッシュは常に表示されるわけではありませんが、表示される場合mMainFragmentnull...

問題が見つかりません。ヘルプ!

リーンバック ライブラリを更新すると、役に立ちますか?

4

1 に答える 1