我在布局文件夹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);
但是当程序运行时程序崩溃了!
答案 0 :(得分:0)
尝试使用View.VISIBLE
而不是1
。
这应该可行(如果你在布局通胀上做错了,我还添加了一个空检查):
if(img4 != null) {
img4.setVisibility(View.VISIBLE);
}
仅供参考(你不应该使用它):
View.GONE
的值为8 View.VISIBLE
的值为0和View.INVISIBLE
的值为4 答案 1 :(得分:0)
我认为你试图在你的适配器中看到你的Image,如果是真的,你应该这样做:
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)。