сторонний скрипт не работает - PullRequest
0 голосов
/ 04 мая 2018

Я пытаюсь внедрить sidedrawer уже неделю, я следовал всему, что есть в документации, когда я сдвигаю экран, он выдает это недружественное исключение. но проблема может быть в ViewChild, потому что this.sidedrawer не определен. ( проблема выдается в GitHub и есть решение, но ни один из них не работает ) Я использую угловой, так что это компонент, который у меня есть:

<ActionBar class="action-bar">
  <Label class="action-bar-title" text="Restaurant List Nearby"></Label>
  <button text="List Mode" (tap)="enableListMode()"></button>
</ActionBar>


<RadSideDrawer tkExampleTitle tkToggleNavButton >
  <StackLayout tkDrawerContent class="sideStackLayout" >
    <StackLayout class="sideTitleStackLayout">
        <Label text="Navigation Menu"></Label>
    </StackLayout>
    <StackLayout class="sideStackLayout">
        <Label text="Primary" class="sideLabel sideLightGrayLabel"></Label>
        <Label text="Social" class="sideLabel"></Label>
        <Label text="Promotions" class="sideLabel"></Label>
        <Label text="Labels" class="sideLabel sideLightGrayLabel"></Label>
        <Label text="Important" class="sideLabel"></Label>
        <Label text="Starred" class="sideLabel"></Label>
        <Label text="Sent Mail" class="sideLabel"></Label>
        <Label text="Drafts" class="sideLabel"></Label>
    </StackLayout>
    <Label text="Close Drawer" color="lightgray" padding="10" style="horizontal-align: center" (tap)="onCloseDrawerTap()"></Label>
</StackLayout>
<StackLayout tkMainContent class="page">
    <MapView></MapView>
  </StackLayout>
</RadSideDrawer>

и код:

import { Component, OnInit, ChangeDetectorRef,ViewChild } from '@angular/core';
import {registerElement} from "nativescript-angular/element-registry";
import { Router } from "@angular/router";
registerElement("MapView", () => require("nativescript-google-maps-sdk").MapView);
import { RadSideDrawerComponent, SideDrawerType } from "nativescript-ui-sidedrawer/angular";
import { RadSideDrawer } from 'nativescript-ui-sidedrawer';

@Component({
  selector: 'app-map-mode',
  moduleId: module.id,
  templateUrl: './map-mode.component.html',
  styleUrls: ['./map-mode.component.css']
})
export class MapModeComponent implements OnInit {


  private _mainContentText: string;

  constructor(private _changeDetectionRef: ChangeDetectorRef,
    private router: Router) { }

  @ViewChild(RadSideDrawerComponent) public drawerComponent: RadSideDrawerComponent;
  private drawer: RadSideDrawer;

  ngAfterViewInit() {
      //fairly certain this statement is never entered
      this.drawer = this.drawerComponent.sideDrawer;
      this._changeDetectionRef.detectChanges();
  }

  ngOnInit() {

   }

   public openDrawer() {
       console.log("Drawer method reached"); 
       console.log(this.drawer); //returns undefined
       this.drawer.showDrawer();
   }

   public onCloseDrawerTap() {
       this.drawer.closeDrawer();
   }
  enableListMode()
  {
    this.router.navigate(["resList"])

  }
}

исключение:

JS: Angular работает в режиме разработки. Вызовите enableProdMode () включить режим производства. System.err: java.lang.NullPointerException: попытка вызвать виртуальный метод 'void android.widget.FrameLayout.setVisibility (int) 'для нулевого объекта ссылка System.err: в com.telerik.android.primitives.widget.sidedrawer.RadSideDrawer.handleOnDown (RadSideDrawer.java:452) System.err: at com.telerik.android.primitives.widget.sidedrawer.RadSideDrawer.onGesture (RadSideDrawer.java:430) System.err: at com.telerik.android.primitives.widget.sidedrawer.RadSideDrawer.onInterceptTouchEvent (RadSideDrawer.java:420) System.err: at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2108) System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2553) System.err: at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2197) System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2553) System.err: at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2197) System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2553) System.err: at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2197) System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2553) System.err: at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2197) System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2553) System.err: at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2197) System.err: at com.android.internal.policy.PhoneWindow $ DecorView.superDispatchTouchEvent (PhoneWindow.java:2403) System.err: at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent (PhoneWindow.java:1737) System.err: at android.app.Activity.dispatchTouchEvent (Activity.java:2812) System.err: at com.android.internal.policy.PhoneWindow $ DecorView.dispatchTouchEvent (PhoneWindow.java:2364) System.err: at android.view.View.dispatchPointerEvent (View.java:9520) System.err:
в android.view.ViewRootImpl $ ViewPostImeInputStage.processPointerEvent (ViewRootImpl.java:4242) System.err: at android.view.ViewRootImpl $ ViewPostImeInputStage.onProcess (ViewRootImpl.java:4095) System.err: at android.view.ViewRootImpl $ InputStage.deliver (ViewRootImpl.java:3641) System.err: at android.view.ViewRootImpl $ InputStage.onDeliverToNext (ViewRootImpl.java:3694) System.err: at android.view.ViewRootImpl $ InputStage.forward (ViewRootImpl.java:3660) System.err: at android.view.ViewRootImpl $ AsyncInputStage.forward (ViewRootImpl.java:3786) System.err: at android.view.ViewRootImpl $ InputStage.apply (ViewRootImpl.java:3668) System.err: at android.view.ViewRootImpl $ AsyncInputStage.apply (ViewRootImpl.java:3843) System.err: at android.view.ViewRootImpl $ InputStage.deliver (ViewRootImpl.java:3641) System.err: at android.view.ViewRootImpl $ InputStage.onDeliverToNext (ViewRootImpl.java:3694) System.err: at android.view.ViewRootImpl $ InputStage.forward (ViewRootImpl.java:3660) System.err: at android.view.ViewRootImpl $ InputStage.apply (ViewRootImpl.java:3668) System.err: at android.view.ViewRootImpl $ InputStage.deliver (ViewRootImpl.java:3641) System.err: atandroid.view.ViewRootImpl.deliverInputEvent (ViewRootImpl.java:5938) System.err: at android.view.ViewRootImpl.doProcessInputEvents (ViewRootImpl.java:5912) System.err: at android.view.ViewRootImpl.enqueueInputEvent (ViewRootImpl.java:5873) System.err: at android.view.ViewRootImpl $ WindowInputEventReceiver.onInputEvent (ViewRootImpl.java:6041) System.err: at android.view.InputEventReceiver.dispatchInputEvent (InputEventReceiver.java:185) System.err: at android.os.MessageQueue.nativePollOnce (собственный Метод) System.err: в android.os.MessageQueue.next (MessageQueue.java:323) System.err: at android.os.Looper.loop (Looper.java:135) System.err: at android.app.ActivityThread.main (ActivityThread.java:5480) System.err: at java.lang.reflect.Method.invoke (собственный метод) System.err: at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) System.err: at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) ActivityManager: процесс org.nativescript.rest (pid 1096) умер ActivityManager: cleanUpApplicationRecord - 1096

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...