缺少一些简单的东西(按钮 OnClick 导致空指针)
Posted
技术标签:
【中文标题】缺少一些简单的东西(按钮 OnClick 导致空指针)【英文标题】:Missing Something Easy (Button OnClick Causing Null Pointer) 【发布时间】:2011-12-09 03:37:03 【问题描述】:突然我的按钮导致空指针异常。我没有更改此活动类中的任何代码。我周末大部分时间都在忙着试图解决这个问题。我在模拟器和设备上都得到空指针异常。
这是一个带有按钮的简单屏幕。我可以轻松地废弃它并编写新代码,但想知道是什么导致了这个问题。如果没有,我就写新代码。
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
Button b1 = (Button) findViewById(R.id.MainActBtn);
b1.setOnClickListener(new View.OnClickListener() //Error is here
public void onClick(View v)
Intent intent = new Intent(StartScreen.this, MainActivity.class);
startActivity(intent);
);
有什么帮助吗?
【问题讨论】:
您是否在清单文件中添加了 MainActivity 活动? 添加您的布局 xml 或确保您输入正确的id
并在 setContentView()
之后完成此过程
是的。错误实际上是指向 onclicklistener 行
当指向它时错误会说什么???
【参考方案1】:
尝试重新构建您的项目。我以前也遇到过这个错误,是R.class
Resource类改变引起的,但是使用类中的静态引用没有被增量java编译器正确替换,所以资源找不到了。
【讨论】:
我知道这将是一件非常容易的事情。在完全清理和重建后,重新编译了 R 资源。 Eclipse 有时会做一些我不知道的事情。【参考方案2】:我认为您不会因为按钮单击而获得空指针异常,只是因为按钮的声明..
您可以在编写 onClickListener 之前进行检查..
if(b1==null)
Log.i("Null","Null");
问题可能在于设置 XML 视图,或者检查您正在使用的按钮是否在您在 setContentView 中使用的同一个 xml 中定义。
在这一切之后,还要清理并构建您的项目。
【讨论】:
我已经准备好添加该行以便在发布问题之前进行检查。 弗兰克,我不得不取消选中自动生成,清理项目,然后重新选中自动生成。以上是关于缺少一些简单的东西(按钮 OnClick 导致空指针)的主要内容,如果未能解决你的问题,请参考以下文章
当按钮在Android上的LinearLayout中时,onClick不会触发
在转发器中的按钮 onclick 事件上使用 javascript 导致更新面板中的完整回发