NativeScriptの世界では、AndroidのTextViewを拡張するJSファイルを作成し、それを既存のAndroidプロジェクトからネイティブに呼び出すことはできますか?NativeScriptでJSを使用してカスタムクラスを作成し、ネイティブAndroidで使用
例えば、私はandroid.widget.TextViewを拡張し、このカスタムのTextView派生:
var constructorCalled = false;
var CustomTextView = android.widget.TextView.extend({
//constructor
init: function() {
constructorCalled = true;
this.setText("set in javascript");
},
});
を、今私が呼び出すことによって、このクラスを使用しよう:
CustomTextView customTextView = new CustomTextView();
をネイティブのAndroidプロジェクトに。
注:私はこの文書を検討してきました: https://docs.nativescript.org/angular/integration-with-existing-ios-and-android-apps/extend-existing-android-app-with-ns-angular2.html 、それが働いていただが、私はJSでカスタムクラスを構築する方法を理解し、Javaが自由にそれを使用持っているため、この例では十分ではありません。
を - '拡張の最初のパラメータとしてあなたの拡張クラスの固定名を与えます'呼び出し、そうすれば、匿名で生成された新しいクラスの名前が何であるか不思議に思うことがないように、Javaコードでより簡単に到達することができます。たとえば、 'com.Arzath.custom.CustomTextView'を渡すと、Javaで構築するオブジェクトになります。 https://docs.nativescript.org/runtimes/android/generator/extend-class-interface https://docs.nativescript.org/runtimes/android/generator/how-extend-works.html#the-classname-パラメータ – pkanev