Android Image SetVisibility不起作用

时间:2014-08-27 16:03:15

标签: android

我在布局文件夹eclipse中创建了一个文件,文件夹名称为grid_single.xml并进入了

grid_single.xml 


我写这个xml文件:

 <ImageView
    android:id="@+id/grid_image"
    android:layout_width="150dp"
    android:layout_gravity="center"
    android:layout_height="150dp"
    android:visibility="gone"
     >


和图像显示到gridView我想将visibilty设置为true并显示图像,但是当我写这段代码时:

final ImageView img4=(ImageView) findViewById(R.id.grid_image);
img4.setVisibility(1);

但是当程序运行时程序崩溃了!

3 个答案:

答案 0 :(得分:0)

尝试使用View.VISIBLE而不是1

这应该可行(如果你在布局通胀上做错了,我还添加了一个空检查):

if(img4 != null) {
    img4.setVisibility(View.VISIBLE);
}

仅供参考(你不应该使用它):

答案 1 :(得分:0)

我认为你试图在你的适配器中看到你的Image,如果是真的,你应该这样做:

在getView()方法中:

LayoutInflater inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View rowView = inflater
            .inflate(R.layout.grid_single, null, true);
final ImageView img4=(ImageView) rowView.findViewById(R.id.grid_image);
img4.setVisibility(View.VISIBLE);

答案 2 :(得分:0)

我不是确切地确定你在问什么,但看起来你正试图以编程方式使XML定义的View可见。如果是这种情况,您希望执行img4.setVisibility(View.VISIBLE)而不是设置为1,因为可见性常量不等于1(请参阅the View class's documentation)。