我已将imageView的可见性设置为默认消失。

现在,我想在以下条件(我的代码)变为true时使其可见。我已经检查条件是否成立,并且我的代码setVisibility(View.VISIBLE)也执行了,但是我的UI上没有任何更改。

@Override
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
        addBottomDots(position);
        if(position == layouts.length-1){
            imageView.setVisibility(View.VISIBLE);
            imageView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    startActivity(new Intent(MainActivity.this,AlarmActivity.class));
                }
            });
        }
    }


我的ImageView的XML

 <ImageView
    android:id="@+id/startImageView"
    android:layout_width="80dp"
    android:layout_height="40dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:visibility="gone"
    app:srcCompat="@drawable/starthere" />


问题:执行代码后,可见性没有改变,意味着它仍然不可见

最佳答案

问题是,您没有使用UI线程:

Activity act = (Activity)context;
act.runOnUiThread(new Runnable(){
@Override
public void run() {
-----
    imageView.setVisibility(View.VISIBLE);
        imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startActivity(new Intent(MainActivity.this,AlarmActivity.class));
            }
        });
-----
} });

07-24 09:37
查看更多