1

我一直在按照本教程来实现Write Java code in nativescript and use directly in typescript

但我有一个错误Cannot read property 'MyToast' of undefined

app.component.ts:

import {Component} from "@angular/core";
let application = require("application");

declare var org:any;
@Component({
    selector: "my-app",
    templateUrl: "app.component.html",
})
export class AppComponent {


    public onTap() {
        org.example.MyToast.showToast(application.android.context,"You pressed the button","short");
    }
}

我在平台-> src -> java -> org ->example中创建了 MyToast.java类:

package org.example;

import android.widget.Toast;
import android.content.Context;


public class MyToast{

    public static void showToast(Context context,String text ,String StrDuration ){

        Toast.makeText(context,text, Toast.LENGTH_SHORT).show();
    }
}
4

1 回答 1

1

你执行构建了吗?tns run androidJavaScript->Java 调用的元数据不会在未触发构建的简单环境中生成。

如果您触摸platforms/android,则不会触发构建,因为该目录没有被监视。

tns build android- 这将确保在进行手动更改时platforms/android,将触发构建。

题外话:另外,我很高兴分享您将能够直接在 NativeScript 4.0 版本的 App_Resources/Android 目录中创建这些类,而不必担心在更换工作站、清理项目时您的自定义类被清除干净。

于 2018-02-01T12:51:37.603 回答