我一直遇到Android按钮问题。我尝试设置一个onClick监听器,但它失败,崩溃并且不打印任何helpeul错误消息。这是我的代码:
Button button;
button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setContentView(R.layout.choose_level);
}
});
我已尝试输入try catch语句,因此它不会显示恼人的错误,但按钮仍无法正常工作。是不是因为布局还没有加载?还是别的什么?
提前致谢。
答案 0 :(得分:1)
在致电setContentView(R.layout.XML_LAYOUT);
按钮之前,您必须先致电findViewById
方法。
此处XML_LAYOUT必须是包含您的按钮ID的布局。
注意: - 不建议多次调用 setContentView 方法。如果要显示不同的布局/屏幕,请将其添加到另一个活动中,并在按钮单击时启动该活动。
答案 1 :(得分:1)
你正在你的按钮onClick监听器中调用setContentView(R.Layout.XML_LAYOUT),因为它应该在oncreate方法的上面
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/
Button play = (Button)findViewById(R.id.play);
play.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
show ur text here
}
});
我想你要做的是设置XML文件的视图 这是一些布局文件,我想检查出充气机和意图
答案 2 :(得分:0)
我把它放在try,catch语句中,这样就不会产生恼人的错误......
catch
块不会从发生中神奇地阻止您的错误 - 您无法使用它来阻止应用程序“产生恼人的错误”。
当有可能从这些情况中恢复时(例如,等待和重试,回退到较慢的替代方案等),您可以使用它们来处理错误。
catch块的实现是什么?如果您只是吞下错误,您的应用仍然会失败 - 只有您不会有任何诊断信息来处理它。
你需要回到原来的“恼人的错误”,弄清楚它为什么会发生,然后修复它,而不是仅仅抑制它的输出。