无法读取未定义的属性MyToast.java

时间:2018-02-01 12:39:17

标签: java android typescript nativescript nativescript-angular

我一直关注此Tutorial来实现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");
    }
}

我在平台中创建了 MyToast.java 类 - > src - > 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();
    }
}

1 个答案:

答案 0 :(得分:1)

你有没有进行构建? JavaScript-> Java调用的元数据不会在未触发构建的简单tns run android中生成。

如果触摸platforms/android,则不会激活构建,因为该目录未被监视。

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

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