将按钮添加到面板视图时崩溃

发布于 2024-09-25 02:53:07 字数 610 浏览 6 评论 0原文

我有以下显示面板的代码。它在面板上显示一个按钮,但一旦我为其分配一个单击处理程序,应用程序就会崩溃!

行上崩溃

Button button =  (Button)findViewById(R.id.buttonclick);
button.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                  hide();

                }
              });

它在 .setOnClickListener LogCat 显示 ... 09-22 14:54:09.953:错误/错误(7786):java.lang.NullPointerException 09-22 14:54:09.953: ERROR/Error(7786): at com.pinkfroot.leefinder.leeFinderMain$PopupPanel.(leeFinderMain.java:598)

进一步添加断点显示 R.id.buttonclick 有一个 id 但按钮为空。

I have the following code that shows a panel. It displays a button on the panel but as soon as I assign a Click Handler to it the app crashes!

It crashes on the line .setOnClickListener

Button button =  (Button)findViewById(R.id.buttonclick);
button.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                  hide();

                }
              });

LogCat shows...
09-22 14:54:09.953: ERROR/Error(7786): java.lang.NullPointerException
09-22 14:54:09.953: ERROR/Error(7786): at com.pinkfroot.leefinder.leeFinderMain$PopupPanel.(leeFinderMain.java:598)

Adding a breakpoint further down shows that R.id.buttonclick has an id but button is null.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

新雨望断虹 2024-10-02 02:53:07

从您的错误来看,似乎 findViewById 返回的 Button 作为空引用返回。在这种情况下,您的问题将出现在 findViewById (或传递给它的参数)中的某个位置。

From your error it sounds as if the Button returned by findViewById is coming back as a null reference. In which case your problem will be somewhere within findViewById (or the parameter passed to it).

梦言归人 2024-10-02 02:53:07

此时您有 setContentView(R.layout.main);
必须先调用此代码,然后才能通过 Button button = (Button)findViewById(R.id.buttonclick); 访问按钮。

At which point do you have setContentView(R.layout.main);.
This code has to be invoked before you can access your button via Button button = (Button)findViewById(R.id.buttonclick);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文