我已将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));
}
});
-----
} });