0

我一直在使用 Android 按钮时遇到问题。我尝试设置一个 onClick 侦听器,但它失败、崩溃并且不打印任何帮助错误消息。这是我的代码:

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 语句,这样它就不会显示烦人的错误,但按钮仍然不起作用。会不会是因为布局没有加载?或者是别的什么?

提前致谢。

4

3 回答 3

1

您必须在调用按钮setContentView(R.layout.XML_LAYOUT);之前调用方法。findViewById

这里 XML_LAYOUT 必须是包含您的按钮 ID 的布局。

注意:- 不建议多次调用setContentView方法。如果您想显示不同的布局/屏幕,请将其添加到另一个活动中并在单击按钮时启动该活动。

于 2012-08-07T18:43:41.873 回答
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 文件设置视图,这是一些布局文件,我想检查一下充气机和意图

于 2012-08-07T19:06:47.507 回答
0

我把它放在一个 try, catch 语句中,这样它就不会出现烦人的错误......

一个catch块不会神奇地阻止你的错误发生——你不能用它来阻止应用程序“提出恼人的错误”。

当可以从这些情况中恢复时,您可以使用它们来处理错误(例如等待并重试,退回到较慢的替代方案等)

你的 catch 块的实现是什么?如果你只是吞下错误,你的应用程序仍然会失败——只是你没有任何诊断信息来处理它。

你需要回到原来的“恼人的错误”,找出它发生的原因,然后修复它,而不是仅仅抑制它的输出。

于 2012-08-07T18:33:58.073 回答