Nativescript RadSideDrawer не показывает содержимое и прерывает работу приложения при попытке открыть ящик

Я настроил RadSideDrawer, как в документации Telerik. Приложение создается и загружается успешно, но содержимое бокового ящика не отображается, и при попытке провести пальцем по экрану, чтобы открыть приложение бокового ящика, происходит сбой со следующей ошибкой:

An uncaught Exception occurred on "main" thread.
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.FrameLayout.setVisibility(int)' on a null object reference
at com.telerik.android.primitives.widget.sidedrawer.RadSideDrawer.handleOnDown(RadSideDrawer.java:460)
at com.telerik.android.primitives.widget.sidedrawer.RadSideDrawer.onGesture(RadSideDrawer.java:438)
at com.telerik.android.primitives.widget.sidedrawer.RadSideDrawer.onInterceptTouchEvent(RadSideDrawer.java:420)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2109)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2198)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2198)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2198)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2198)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2198)
at com.android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2403)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1737)
at android.app.Activity.dispatchTouchEvent(Activity.java:2843)
at com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2364)
at android.view.View.dispatchPointerEvent(View.java:9527)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4248)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4101)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3647)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3700)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3666)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3792)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3674)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3849)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3647)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3700)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3666)

Это файл json пакета:

{
  "description": "NativeScript Application",
  "license": "SEE LICENSE IN <your-license-filename>",
  "readme": "NativeScript Application",
  "repository": "<fill-your-repository-here>",
  "nativescript": {
    "id": "org.nativescript.app",
    "tns-android": {
      "version": "3.1.1"
    }
  },
  "dependencies": {
    "@angular/animations": "~4.1.0",
    "@angular/common": "~4.1.0",
    "@angular/compiler": "~4.1.0",
    "@angular/core": "~4.1.0",
    "@angular/forms": "~4.1.0",
    "@angular/http": "~4.1.0",
    "@angular/platform-browser": "~4.1.0",
    "@angular/router": "~4.1.0",
    "moment": "^2.18.1",
    "nativescript-angular": "~3.1.0",
    "nativescript-cardview": "^2.0.2",
    "nativescript-loading-indicator": "^2.3.2",
    "nativescript-telerik-ui": "^3.0.4",
    "nativescript-theme-core": "~1.0.2",
    "reflect-metadata": "~0.1.8",
    "rxjs": "~5.3.0",
    "tns-core-modules": "~3.1.0",
    "underscore": "^1.8.3",
    "zone.js": "~0.8.2"
  },
  "devDependencies": {
    "babel-traverse": "6.25.0",
    "babel-types": "6.25.0",
    "babylon": "6.17.4",
    "lazy": "1.0.11",
    "nativescript-dev-typescript": "~0.5.0",
    "tslib": "^1.7.1",
    "typescript": "~2.2.1"
  }
}

Я установил nativescript-ng2-drawer-seed, и он работает правильно. Я что-то упускаю, но не могу найти. Любая помощь будет оценена по достоинству. Спасибо


person zarax    schedule 25.08.2017    source источник
comment
Если вы поделитесь информацией о XML/HTML и JavaScript/TypeScript вашей Страницы, возможно, мы сможем найти проблему. Возможно, вы объявили RadSideDrawer рядом с другим элементом пользовательского интерфейса, по замыслу RadSideDrawer должен быть единственным дочерним элементом страницы.   -  person Vladimir Amiorkov    schedule 26.08.2017
comment
@VladimirAmiorkov Спасибо за помощь. Это была простая ошибка с моей стороны. Я импортировал NativeScriptUISideDrawerModule в AppModule, но не в модуль страниц, которые я использую sidedrawer.   -  person zarax    schedule 26.08.2017


Ответы (1)


Решил проблему. Просто импортируйте NativeScriptUISideDrawerModule в модуль страницы, на которой вы используете боковой ящик. Или просто поместите его в общий модуль Angular.

person zarax    schedule 26.08.2017