Android 我想我的aboutButton中的NullPointer异常
我的第二本Android编程书《你好,Android》,Ed Burnette著。我正在使用eclipse。代码与该书匹配,并且与从该书网站下载的代码匹配。但我知道我做错了什么。我添加了一系列断点,在这些断点处我估计(主要是猜测)问题可能发生的位置。我得出的结论是,这一行代码是罪魁祸首(SudokuActivity.java第21行),您可以在这里下载整个代码 aboutButton.setOnClickListener(此) 但我就是不明白为什么?一定是因为我在别的地方做错了什么。我已经删除并重新创建了avd,这没有什么不同,所以不是它。我在这里迷路了Android 我想我的aboutButton中的NullPointer异常,android,Android,我的第二本Android编程书《你好,Android》,Ed Burnette著。我正在使用eclipse。代码与该书匹配,并且与从该书网站下载的代码匹配。但我知道我做错了什么。我添加了一系列断点,在这些断点处我估计(主要是猜测)问题可能发生的位置。我得出的结论是,这一行代码是罪魁祸首(SudokuActivity.java第21行),您可以在这里下载整个代码 aboutButton.setOnClickListener(此) 但我就是不明白为什么?一定是因为我在别的地方做错了什么。我已经删除
public class SudokuActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
View aboutButton = findViewById(R.id.about_button);
aboutButton.setOnClickListener(this);
}
我要感谢每一个回应的人,这一切都是固定和工作,没有你的帮助我不可能做到这一点。我在这个问题上学到了更多的东西,如果不是几个月的无问题编程,我也会在几周内学会 Yout aboutButton未正确绑定 做点像
按钮aboutButton=(按钮)findViewById(R.id.about_按钮) 我下载了你的代码,它在我的手机上运行正常。因此,如果您的代码相同,它应该运行。 findViewById似乎没有找到视图,然后对null对象调用方法导致了nullpointerexception 我愚蠢的问题:你有没有尝试过清理项目?您甚至可以尝试保存类、删除项目并创建新类。
希望它对您有所帮助,但不会造成任何影响-视图将同一个onclicklistener作为布局中main.xml的按钮,并查看它是否有id为“about_button”的视图,这一定是问题所在。如果您意外导入了
android.content.DialogInterface.onclicklistener
,阅读您的回复后,我想知道main.xml文件中的>之间的顺序有多重要。因此,我复制并粘贴移动底部的android:id并将其移动到顶部,然后将android:text移动到底部。瞧,现在一切都好了。看来这个订单对avd来说是个大问题。@user1355452不,等等,它需要更多的解释。XML中的属性顺序并不重要。这里有更多。我敢打赌,正如我告诉你的,这里有一个清理问题。Android编译器在一个名为R的类中自动构建资源文件(即XML)。通常,在您更改资源时,会再次编译该类。因此,当您更改移动id的xml时,它会再次编译资源,这就解决了问题。您可以尝试将id移回原来的位置,然后再次尝试运行您的示例。它应该有用!我确实使用了project->clean选项,卸载了所有内容,甚至删除了eclipse,重新安装后仍然无法工作。我知道R id和R.java文件的警告,但从未考虑过这个问题。我确实移动了身份证,它仍然工作得很好。R id问题让我想切换到Windows Phone,但我太固执了:)