0

我有一个计数器,我想让这个计数器的结果决定 a 的可见性ImageView

ImageView image_A_wrong = (ImageView) findViewById(R.id.IVimage_a_wrong);

ImageView 的 XML:

<ImageView android:src="@drawable/small_wrong"
     android:id="@+id/IVimage_a_wrong" 
     android:layout_width="48dp"
     android:layout_height="48dp"
     android:layout_marginLeft="-50dp"
     android:padding="0dp"
     android:visibility="invisible"/>

我已经尝试了几件事..这是我想要完成的一些伪代码

@Override
public void setVisible(boolean visible) {
    super.setVisible(visible);
    if (score == 0 ){
        image_A_wrong.getVisibility(View.VISIBLE);
    } else if(score == 1){
        image_A_wrong.getVisibility(View.VISIBLE);      
    }
}

我在 tuts 和 Adroid 的 Dev 页面上环顾四周,但似乎找不到/理解适用于我需求的解决方案...thnx

4

2 回答 2

1

您应该使用 setVisibility() 方法而不是 getVisibility():

    imageview.setVisibility(View.VISIBLE);
于 2012-07-24T05:22:06.517 回答
0

因此View#VISIBLE将其标记为可见,View#INVISIBLE将其标记为不可见,而View#GONE完全隐藏了视图。这是您需要对代码执行的操作:

@Override
public void setVisible(boolean visible) {
    super.setVisible(visible);
    if (score == 0 ){
        //Hide the view
        image_A_wrong.setVisibility(View.INVISIBLE);
    } else if(score == 1){
        //Show the view
        image_A_wrong.setVisibility(View.VISIBLE);      
    }
}

我建议阅读View#setVisibility文档以获得更好的想法。

编辑:我也不知道您在上面的代码中显示的 View#setVisible(boolean) 来自哪里。那不是View我所知道的功能...

于 2012-07-24T17:35:47.973 回答