我有一个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。
提前感谢您的帮助。
答案 0 :(得分:0)
我认为您需要使用片段http://developer.android.com/guide/components/fragments.html这里是developer.android.com的链接,但如果您想使用此代码更改您的布局,请检查您的R.id.startupScreen布局是否可点击