nativescript:无法将对象转换为Landroid/view/textureview/surfacetexturelistener

nativescript:无法将对象转换为Landroid/view/textureview/surfacetexturelistener,nativescript,Nativescript,我正在尝试在nativescript插件(typescript)中实现java接口 但当我调用view时,它会给我这个错误。无法将对象转换为Landroid/view/textureview/surfacetexturelistener 我假设我的typescript类没有实现接口SurfaceTextRelistener。但我添加了所需的所有4种方法 下面是正在工作的java代码 public class FFmpegRecordActivity extends AppCompatActivi

我正在尝试在nativescript插件(typescript)中实现java接口 但当我调用view时,它会给我这个错误。无法将对象转换为Landroid/view/textureview/surfacetexturelistener

我假设我的typescript类没有实现接口SurfaceTextRelistener。但我添加了所需的所有4种方法

下面是正在工作的java代码

public class FFmpegRecordActivity extends AppCompatActivity implements
        TextureView.SurfaceTextureListener, View.OnClickListener {
    ...
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mPreview = (FixedRatioCroppedTextureView) findViewById(R.id.camera_preview);

        mCameraId = Camera.CameraInfo.CAMERA_FACING_FRONT;
        // Switch width and height
        mPreview.setPreviewSize(previewHeight, previewWidth);
        mPreview.setCroppedSizeWeight(videoWidth, videoHeight);
        mPreview.setSurfaceTextureListener(this);

    }
    @Override
    public void onSurfaceTextureAvailable(final SurfaceTexture surface, int width, int height) {
        startPreview(surface);
    }

    @Override
    public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {
    }

    @Override
    public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
        return true;
    }

    @Override
    public void onSurfaceTextureUpdated(SurfaceTexture surface) {
    }
    ...
}
我正在尝试键入脚本代码

export class NumberPicker extends view.View {
  public _createUI() {
    // this._android = new android.widget.NumberPicker(this._context);
    this.mCameraId = android.hardware.Camera.CameraInfo.CAMERA_FACING_FRONT;

    this._android = new com.github.crazyorr.ffmpegrecorder.FixedRatioCroppedTextureView(this._context);

    this._android.setPreviewSize(100, 100);
    this._android.setCroppedSizeWeight(100, 100);
    this._android.setSurfaceTextureListener(this);
    console.log("my-plugin - Android : _createUI")
  };
  public onSurfaceTextureAvailable(surface, width, height) {
    this.startPreview(surface);
  }

  public onSurfaceTextureSizeChanged(surface, width, height) {
  }

  public onSurfaceTextureDestroyed(surface): Boolean {
    return true;
  }

  public onSurfaceTextureUpdated(surface) {
  }
}
我试着加上

declare var android:any;
// @Interfaces([android.view.TextureView.SurfaceTextureListener]) /* the interfaces that will be inherited by the resulting MyVersatileCopyWriter class */
export class NumberPicker extends view.View implements  {
  // interfaces:[android.view.TextureView.SurfaceTextureListener]

但是在ts编译器中都出现了找不到android的错误

我相信你需要将
实现android.view.TextureView.SurfaceTextureRelister
添加到你的组件中

我相信你需要将
实现android.view.TextureView.SurfaceTextureRelister
添加到你的组件中

似乎我必须在ts中重写这个。我停止使用这个接口。在android studio项目中创建了实现此接口的新类。然后从NativeScript调用该类,似乎我必须在ts中重写该类。我停止使用该接口。在android studio项目中创建了实现此接口的新类。然后从nativescript调用该类