Nativescript TypeError:无效的视图实例中的android.widget.Button{1e209aa1VFED…C......}

Nativescript TypeError:无效的视图实例中的android.widget.Button{1e209aa1VFED…C......},nativescript,Nativescript,我试图直接在nativescript中使用本机代码。我在将javascript中创建的android.widget.Button代理添加到StackLayout(在nativescript中预定义)时遇到此错误 “主”线程上发生未捕获的异常。 com.tns.NativeScriptException:调用js方法 onViewAttachedToWindow失败 错误:android.widget.Button{1e209aa2 VFED..C..I.0,0-0,0}不正确 不是有效的视图实例

我试图直接在nativescript中使用本机代码。我在将javascript中创建的android.widget.Button代理添加到StackLayout(在nativescript中预定义)时遇到此错误

“主”线程上发生未捕获的异常。 com.tns.NativeScriptException:调用js方法 onViewAttachedToWindow失败

错误:android.widget.Button{1e209aa2 VFED..C..I.0,0-0,0}不正确 不是有效的视图实例。文件: "file:///data/data/org.nativescript.Tekmo/files/app/tns_modules/tns-core-modules/ui/core/view-base/view-base.js, 行:414,列:12

StackTrace:Frame:function:'ViewBase.\u addView', 档案:'file:///data/data/org.nativescript.Tekmo/files/app/tns_modules/tns-core-modules/ui/core/view-base/view-base.js', 行:414,列:19帧:函数:“LayoutBaseComon.addChild”, 档案:'file:///data/data/org.nativescript.Tekmo/files/app/tns_modules/tns-core-modules/ui/layouts/layout-base-common.js', 行:44,列:14帧:函数:'OnNavigationTo', 档案:'file:///data/data/org.nativescript.Tekmo/files/app/main-page.js', 行:15,列:12帧:函数:'Observable.notify', 档案:'file:///data/data/org.nativescript.Tekmo/files/app/tns_modules/tns-core-modules/data/observable/observable.js', 行:110,列:23帧:函数:'PageBase.OnNavigationTo', 档案:'file:///data/data/org.nativescript.Tekmo/files/app/tns_modules/tns-core-modules/ui/page/page-common.js', 行:107,列:14帧:函数:'FrameBase.\u on NavigationTo', 档案:'file:///data/data/org.nativescript.Tekmo/files/app/tns_modules/tns-core-modules/ui/frame/frame-common.js', 行:276,列:37帧:函数:'FrameBase.performNavigation', 档案:'file:///data/data/org.nativescript.Tekmo/files/app/tns_modules/tns-core-modules/ui/frame/frame-common.js', 行:248,列:14帧: 函数:'FrameBase.\u processNextNavigationEntry', 档案:'file:///data/data/org.nativescript.Tekmo/files/app/tns_modules/tns-core-modules/ui/frame/frame-common.js', 行:241,列:22帧: 函数:'Frame.\u processNextNavigationEntry', 档案:'file:///data/data/org.nativescript.Tekmo/files/app/tns_modules/tns-core-modules/ui/frame/frame.js', 行:143,列:58帧:函数:'Frame.\u onAttachedToWindow', 档案:'file:///data/data/org.nativescript.Tekmo/files/app/tns_modules/tns-core-modules/ui/frame/frame.js', 行:118,列:14帧: 函数:'AttachListener.onViewAttachedToWindow', 档案:'file:///data/data/org.nativescript.Tekmo/files/app/tns_modules/tns-core-modules/ui/frame/frame.js', 行:35,列:27

位于com.tns.Runtime.callJSMethodNative(本机方法) com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1120)位于 com.tns.Runtime.callJSMethodImpl(Runtime.java:1000)位于 com.tns.Runtime.callJSMethod(Runtime.java:987)位于 com.tns.Runtime.callJSMethod(Runtime.java:967)位于 com.tns.Runtime.callJSMethod(Runtime.java:959)位于 com.tns.gen.java.lang.Object\u frame\u 29\u 36\u AttachListener.onViewAttachedToWindow(Object\u frame\u 29\u 36\u AttachListener.java:17) 在android.view.view.dispatchAttachedToWindow(view.java:14835)的 android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2989) 在 android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2997) 在 android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2997) 在 android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2997) 在 android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2997) 在 android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2997) 在 performTraversals(ViewRootImpl.java:1573) 位于 android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7057) 在 Choreographer$CallbackRecord.run(Choreographer.java:829) 位于android.view.Choreographer.doCallbacks(Choreographer.java:606) doFrame(Choreographer.java:576)位于 Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:815) 位于android.os.Handler.handleCallback(Handler.java:739) dispatchMessage(Handler.java:95)位于 Looper.loop(Looper.java:145)位于 main(ActivityThread.java:6934)位于 java.lang.reflect.Method.invoke(本机方法)位于 java.lang.reflect.Method.invoke(Method.java:372)位于 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

NativeScript有一个可以直接使用的组件。如果您想访问Button的任何本机属性,只需在加载后访问{N}按钮上的
.nativeView
,在iOS中运行android/
UIButton
时,它将返回
android.widget.Button


.addChild
除了构建在{N}视图层次结构上的组件之外,如果您想将本机元素添加到UI,可以使用从“tns核心模块/UI/Button”导入{Button};和var Button=new Button();Button.text=“点击我!“;,Nativescript按钮实际实现了本机按钮是否有任何特殊情况,您试图添加如上所述的按钮?
var createViewModel = require("./main-view-model").createViewModel;

var application = require("application");
const toast = android.widget.Toast
var context = application.android.context

function onNavigatingTo(args) {
    var page = args.object;
    page.bindingContext = createViewModel();

    var button = new android.widget.Button(context);
    var text = "My Button"; // JavaScript string
    button.setText(text);

    var parent=page.getViewById("parent")
    parent.addChild(button)
}