У меня есть SurfaceView с LinearLayout, который скрывает или показывает, если вы нажмете на SurfaceView. Проблема заключается в том, что SurfaceView не обновляется, поэтому, если функция setVisibility (View.VISIBLE) фактически не работает.setVisibility() не обновляет UI Android
Это код, я использую:
sv.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v)
{
Log.d("MainActivity-onCreate-onClick-buttons",
buttonsVisibility.toString());
if (buttonsVisibility)
{
linearLayoutButtons.setVisibility(View.INVISIBLE);
buttonsVisibility = false;
} else
{
linearLayoutButtons.setVisibility(View.VISIBLE);
buttonsVisibility = true;
}
}
});
По умолчанию buttonVisibility устанавливается в ложь и в первый раз, я нажимаю мнение, что на самом деле это так, поэтому логики последовательны, единственная проблема заключается в том, что Кажется, что свойство setVisibility не действует. Только если я включаю/выключаю экран, я могу правильно отобразить макет, а затем правильно работать. Почему мне нужно отключить экран, чтобы обновить интерфейс? Не следует ли обновлять его автоматически после setVisibility?
Большое спасибо