在运行时更改时布局不更新

时间:2016-03-11 18:25:25

标签: android android-layout android-studio

我有一个ImageButton,我将OnClickListener应用于以下代码:

playButton = (ImageButton) findViewById(R.id.mainMenuPlayButton);
playButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        setContentView(R.layout.activity_startup_module);
    }
});

这很好用,因为当我在Android设备上运行程序并按下按钮时,它立即变为activity_startup_module布局。但是,稍后在另一个类中,我使用相同的方法,而是将OnClickListener应用于RelativeLayout

startupLayout = (RelativeLayout) findViewById(R.id.startupScreen);
startupLayout.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        setContentView(R.layout.activity_main_menu_module);
    }
});

当我在运行代码时尝试按RelativeLayout时,布局不会改变,直到屏幕方向发生变化,此时它会更新并更改为activity_main_menu_module布局。< / p>

我想知道为什么会发生这种情况,如果我的代码出现问题,或者我可以添加一些内容以强制布局立即更新(而不是方向更改时)?考虑到这是我的第一个Android Studio项目,我完全有可能以错误的方式更改布局。如果它以任何方式考虑因素,我用来测试程序的设备是16GB Galaxy Tab 10.1 P7510。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我认为您需要使用片段http://developer.android.com/guide/components/fragments.html这里是developer.android.com的链接,但如果您想使用此代码更改您的布局,请检查您的R.id.startupScreen布局是否可点击