按下按钮时,应用程序崩溃

时间:2012-08-07 18:30:08

标签: java android

我一直遇到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语句,因此它不会显示恼人的错误,但按钮仍无法正常工作。是不是因为布局还没有加载?还是别的什么?

提前致谢。

3 个答案:

答案 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块的实现是什么?如果您只是吞下错误,您的应用仍然会失败 - 只有您不会有任何诊断信息来处理它。

你需要回到原来的“恼人的错误”,弄清楚它为什么会发生,然后修复它,而不是仅仅抑制它的输出。