Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ImageView不可见';在setVisibility()之后不可见_Android_Imageview_Visibility_Findviewbyid - Fatal编程技术网

Android ImageView不可见';在setVisibility()之后不可见

Android ImageView不可见';在setVisibility()之后不可见,android,imageview,visibility,findviewbyid,Android,Imageview,Visibility,Findviewbyid,我通过findViewById()加载onCreate()和ImageView。ImageView从XML设置为不可见,通过调用mImage.setVisibility(View.visible),它应该在onStart()中可见 奇怪的是,可见性没有改变,而如果我从XML设置为GONE,可见性实际上会改变 有什么我遗漏的吗 编辑: 守则: private class MyClass extends Activity { ... private ImageView mImage; ... @

我通过
findViewById()
加载
onCreate()
和ImageView。ImageView从XML设置为不可见,通过调用
mImage.setVisibility(View.visible)
,它应该在
onStart()
中可见

奇怪的是,可见性没有改变,而如果我从XML设置为GONE,可见性实际上会改变

有什么我遗漏的吗

编辑:

守则:

private class MyClass extends Activity {
...
private ImageView mImage;
...


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    mImage = (ImageView)findViewById(R.id.imageViewCompass);
......
}

@Override
protected void onStart() {
    super.onStart();
    mImage.setVisibility(View.VISIBLE);
}
}
和从XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeBus"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent" >



    <ImageView
        android:id="@+id/imageViewCompass"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/mwImage"
        android:visibility="invisible" />


</RelativeLayout>


第一件事是为什么要将活动类声明为私有类。只允许公开、抽象和最终。其次,我复制并粘贴了您提供的确切代码,创建了一个新的android应用程序项目,效果很好。
你能把完整的.xml文件发出去吗

对不起,但我意识到我自己不够清楚。我正在使用OpenGL SurfaceView,我不会相信它会对其他视图造成干扰。。似乎
setVisibility()
方法在处理SurfaceView上方的图层时,从
View.INVISIBLE开始出现了一些问题

在这里,我找到了答案:

你能发布你的代码吗?我刚刚发布了……顺便说一句,这是非常标准的代码……我试图复制你的代码,但不可见和消失了,图像出现了。你有没有尝试过清理和构建你的代码,也许是有别的东西在妨碍你。我尝试过构建项目并删除R类…没有任何变化。这是一个错误。该类是公共的(C:)完整xml Posted为什么要声明relativelayout宽度和高度?请删除它,然后重试。因为有另一个布局作为父布局。移除宽度和高度是一样的。那么其他东西就有问题了。要验证这一点,请尝试创建一个新的Android应用程序项目,复制并粘贴您提供的上述代码,然后运行它。上面的代码在我这方面工作得很好。