我加载onCreate()
和ImageView findViewById()
。 ImageView从XML设置为INVISIBLE,并且应该通过调用onStart()
在mImage.setVisibility(View.VISIBLE)
中显示。
奇怪的是,可见性没有改变,而如果我从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>
答案 0 :(得分:2)
我很抱歉,但我意识到我的自我,我不够清楚。我正在使用OpenGL SurfaceView,我不相信它可能会令其他视图烦恼..似乎setVisibility()
方法在处理SurfaceView上方的图层时从View.INVISIBLE
开始有一些问题..
答案 1 :(得分:0)
首先,为什么要将您的活动类声明为私有类。只有公共的,抽象的和决赛是允许的。其次,我复制并粘贴了您提供的确切代码,并创建了一个新的Android应用程序项目,它工作正常。 你能发布完整的.xml文件吗?