2016-10-22 11 views
1

私はnativescriptプラグイン(typescript) でJavaインターフェイスを実装しようとしていますが、ビューを呼び出すとこのエラーが表示されます。オブジェクトをLandroid/view/textureview/surfacetexturelistenerに変換できませんnativescript:Landroid/view/textureview/surfacetexturelistenerにオブジェクトを変換できません

私のtypescriptクラスがinterface SurfaceTextureListenerを実装していないと仮定します。しかし、私は必要な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コンパイラ

にアンドロイドを見つけました

答えて

0

私はあなたのコンポーネントにimplements android.view.TextureView.SurfaceTextureListenerを追加する必要があると信じます

+0

私はtsでこれを書き直さなければならないようです。私はインターフェイスを使用して停止しました。このインターフェイスを実装するアンドロイドスタジオプロジェクトに新しいクラスを作成しました。その後、そのクラスをnativescriptから呼び出しました – matar

関連する問題