Android-Unity3D:setVisibility(View.VISIBLE)崩溃

Android-Unity3D:setVisibility(View.VISIBLE)崩溃,android,unity3d,Android,Unity3d,我有一个unity项目,我使用Android(java)插件获取相机数据。我在纹理视图上画的。 我想在unity中按下按钮时隐藏/显示此视图。 但是当我设置可见性时,我的应用程序崩溃了 一次创建 UnityPlayer.currentActivity.addContentView(texView, new FrameLayout.LayoutParams(400, 400)); 爪哇: 我需要调用一个额外的函数,还是只能在特定时间调用 这些东西都不管用,它们都会让我的应用程序崩溃 _T

我有一个unity项目,我使用Android(java)插件获取相机数据。我在纹理视图上画的。 我想在unity中按下按钮时隐藏/显示此视图。 但是当我设置可见性时,我的应用程序崩溃了

一次创建

UnityPlayer.currentActivity.addContentView(texView, new FrameLayout.LayoutParams(400, 400));
爪哇:

我需要调用一个额外的函数,还是只能在特定时间调用

这些东西都不管用,它们都会让我的应用程序崩溃

    _TextureView.setVisibility(View.INVISIBLE);
    _TextureView.setActivated(false);
    _TextureView.setAlpha(0);
    _TextureView.setTranslationY(-1000);

我已经解决了这个问题,现在我设置了一个布尔值,并在onSurfaceTextureUpdated回调中设置了alpha

public void onSurfaceTextureUpdated(SurfaceTexture surface)
{
    //Visibility changed
    if(_isVisibleChanged == true)
    {
        //Show video
        if(_isVisible)
            _TextureView.setAlpha(1);

        //Hide video
        else
            _TextureView.setAlpha(0);

        //Visibility updated
        _isVisibleChanged = false;
    }
}

但是仍然不明白为什么它不在这个函数中时会崩溃。有人对此有答案吗?

我不确定,但如果您在这里找不到解决方案,您仍然可以尝试。我已经在这里添加了一些额外的信息。
public void onSurfaceTextureUpdated(SurfaceTexture surface)
{
    //Visibility changed
    if(_isVisibleChanged == true)
    {
        //Show video
        if(_isVisible)
            _TextureView.setAlpha(1);

        //Hide video
        else
            _TextureView.setAlpha(0);

        //Visibility updated
        _isVisibleChanged = false;
    }
}