Android使用计数器结果设置ImageView的可见性



我有一个计数器,我想让这个计数器的结果决定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

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

    imageview.setVisibility(View.VISIBLE);

因此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(布尔值)来自哪里,你在上面的代码中显示的。据我所知,这不是View中的一个函数。。。

最新更新