我试图通过java设置一个可绘制资源作为我的主要相对布局的背景,但每当我这样做时,我的应用程序崩溃。
以下是代码中无法正常工作的部分:
public class GameActivity extends Activity {
RelativeLayout layout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
layout = (RelativeLayout) findViewById(R.layout.activity_game);
setContentView(R.layout.activity_game);
layout.setBackgroundResource(R.drawable.image);
}
}
有什么想法吗? 提前致谢
答案 0 :(得分:3)
仅在findViewById()
之后致电setContentView()
并在R.id
(而不是R.layout
)中提供标识符,以便它可以返回null
以外的内容。< / p>
答案 1 :(得分:2)
请记住,您正在尝试按ID查找视图,但您正在尝试以错误的方式尝试扩充布局。将R.layout.activity_game
更改为R.id.activity_game并确保相对布局为给予
android:id = "@+id/activity_game"
完整的代码应该是
public class GameActivity extends Activity {
RelativeLayout layout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game);
layout = (RelativeLayout) findViewById(R.id.activity_game);
layout.setBackgroundResource(R.drawable.image);
}
} 希望它有所帮助。快乐编码。